ArcEngine中IFeature与IPoint的关系,该怎么解决
ArcEngine中IFeature与IPoint的关系
问题描述:在用C#写engine程序的过程中,想通过查询point类型的shp的属性表查找公共汽车站点,比如查到一个站点的feature,请问如何将这个feature变成一个point类型,从而可以运用最短路径算法,找到两个车站的最短距离(一个车站已定)?
------解决方案--------------------
IFeature 是一个原色,Ipoint是图形
IFeature包含图形的一些其他属性
如果IFeature的图形是点的话,那么可以用
IPoint pt=PFeature.Shape;
------解决方案--------------------
问题描述:在用C#写engine程序的过程中,想通过查询point类型的shp的属性表查找公共汽车站点,比如查到一个站点的feature,请问如何将这个feature变成一个point类型,从而可以运用最短路径算法,找到两个车站的最短距离(一个车站已定)?
------解决方案--------------------
IFeature 是一个原色,Ipoint是图形
IFeature包含图形的一些其他属性
如果IFeature的图形是点的话,那么可以用
IPoint pt=PFeature.Shape;
------解决方案--------------------
- C# code
using System; using System.Collections; using System.Text; namespace Greedy { class Marx { private int[] distance; private int row; private ArrayList ways = new ArrayList(); public Marx(int n,params int[] d) { this.row = n; distance = new int[row * row]; for (int i = 0; i < row * row; i++) { this.distance[i] = d[i]; } for (int i = 0; i < this.row; i++) //有row个点,则从中心到各点的路有row-1条 { ArrayList w = new ArrayList(); int j = 0; w.Add(j); ways.Add(w); } } //------------------------------ public void Find_way() { ArrayList S = new ArrayList(1); ArrayList Sr = new ArrayList(1); int []Indexof_distance=new int[this.row]; for(int i=0; i < row; i++) { Indexof_distance[i]=i; } S.Add( Indexof_distance[0] ); for (int i = 0; i < this.row; i++) { Sr.Add( Indexof_distance[i] ); } Sr.RemoveAt(0); int[] D = new int[this.row]; //存放中心点到每个点的距离 //---------------以上已经初始化了,S和Sr(里边放的都是点的编号)------------------ intEnd Fu