2017-06-27 15 views
0

シェイプファイルをhereからダウンロードしてくれました。私のためにキャンターマップを提供しました。 私はDotSpatialを持っており、C#で地図を読み込んでいます。私は地図をたどり、各調整の高さを得る必要があります。シェイプファイル(.shp)をトラバースし、各コーディネートの高さをどのようにすることができますか?

私はC#でWPFで3D ViewPortを作成しました。グリッド上の各ポイントの高さを3Dマップにする必要があるだけのグリッドがあります。

1ファイルに調整の高さがあるかどうかわかりません。このサイトがこの属性を持つファイルを提供しない場合、どこに高さプロパティを持つファイルを入手できますか?

2マップの経度と緯度の最小値と最大値をDotSpatialでどのように把握できますか?

私は

double dx = Math.Abs(MaxLongitude - minLongitude)/myMapGrid.Nx; 
double dy = Math.Abs(MaxLatitude - minLatitude)/myMapGrid.Ny; 
for (int x = 0; x < myMapGrid.Nx; x++) 
{ 
    for (int y = 0; y < myMapGrid.Ny; y++) 
    { 
     double z = GetHeightOfCoordination(map, minLongitude+(x*dx), minLatitude+(y*dy)); 
     SetMapGridData(myMapGrid, x, y, z); 
    } 
} 

3-(それはちょうど擬似コードである)。このようないくつかのコードを書きたいし、最終的にどのように私は、各コーディネーションポイントの高さの値を得ることができますか?あなたを介して見て、あなただけのZ座標を取得したい場合は、その後、

temp.Coordinates.AsEnumerable(); 

または

temp.Coordinates.AsQueryable(); 

を使用することができます

答えて

0
var shapefile = Shapefile.OpenFile(@"C:\yourpath"); 
while (i < test.Features.Count) 
{ 
var temp = test.GetFeature(i); 
var coordinates = temp.Coordinates 
} 

それ以外の場合、temp.coordinatesからの出力は [{"" M ":" NaN "、" X ":494869.712、" Y ":5458703.355、" NaN "、" NumOrdinates ":2}]

(あなたのZ値が含まれていることを願います)

関連する問題