問題タブ [dotspatial]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2144 参照

gis - DotSpatial: ポリゴン フィーチャを System.Drawing.Region に変換する

Polygon 領域を色でペイントしたい。

これを行うために使用できることはわかっSymbolizerていますが、その領域を点滅させたい (タイマーで色を変更する)symbolizerため、この目的での使用は遅いようです。

私はすでにMap.OnPaintイベントを使用して、ポイントの色付きの画像を描画しています( PointLayer)。

では、グラフィックス クラスのメソッドを使用してその領域をペイントできるように、(a 内のPolygonLayer)ポリゴン フィーチャを変換するにはどうすればよいでしょうか?System.Drawing.Region

前もって感謝します。

0 投票する
1 に答える
2128 参照

c# - ドット空間を使用してバウンディングボックスと半径を交差させる方法

Dotspatial を使用して、半径のある緯度/経度が境界ボックスと交差しているかどうかを確認する必要があります。

dotpatial を使用すると、Ifeatures を使用して交差できます。私の問題は、円/球/楕円を作成することです。

円を作成する方法について、次のコード スニペットを見つけました。

それでも、バッファオプションについて有用なものを見つけることができません(単位は何ですか?(メートルまたはkm)、これは交差関数で機能しますか?)

境界ボックスと半径のある点を使用して、誰かが交差点で正しい方向に向けることができますか?

0 投票する
1 に答える
10813 参照

c# - C# でのシェープファイル座標の読み取り

シェープファイルのコンテンツを使用して、緯度/経度で「XAML Map Control」にポリラインを描画したいと考えています。

私は2種類のシェープファイルを持っています:

  • .dbf、.prj、qpj、.shx、および明らかに .shp ファイルを含むもの。
  • .shp ファイルのみの 1 つ

さまざまなライブラリ (Net Topology Suite、現在は DotSpatial) を使用して両方のタイプのファイルを読み取ると、次のような座標 (DotSpatial.Topology.Coordinate) のリストが取得されます。

  • 緯度/経度形式に変換するにはどうすればよいですか?
  • 現在のフォーマットは何ですか?
  • .shp ファイルに付随するファイルは役に立ちますか?
0 投票する
2 に答える
5045 参照

c# - Dotspatial の FilePath からのラスター データの読み込み

私はこの単純なコード行を持っていますDotSpatial

ラスターが null 値を取得するのはなぜですか??

同じディレクトリに、、、ファイル.aux.ovrあります。.tfw

編集:

以下の行が正常に機能することがわかりました。

デフォルトでファイルDotspatialをロードする機能があるためです。.shpただし、ラスター データ.tif形式を読み込む場合、Dotspatial にはGDAL拡張機能が必要です。問題は、 を使用して拡張機能を手動でロードする方法GDALです。DotspatialC#

0 投票する
1 に答える
324 参照

c# - dotSpatial MapLineLayer のメモリ リーク

dotSpatials Map オブジェクトを使用して、シェープ ファイルに対していくつかの操作を実行しています。以下のコードを使用してレイヤー (MapLineLayer) を追加しているときにプログラムがメモリを消費し、レイヤーの処理が完了したらメモリを元に戻したいと思います。Map オブジェクトとレイヤーを処分できません。

dotSpatials Map を適切に破棄するにはどうすればよいですか?

0 投票する
1 に答える
809 参照

c# - ドット空間で画像レイヤーを追加する方法

私は ac# プログラマーです。形状ファイルで作業する必要があるため、ドット空間プラグインを使用しています。ポイント、ライン、ポリゴンの FeatureType を指定するクラス FeatureSet がありますが、画像レイヤーを追加する画像タイプはありません。画像レイヤーを追加する方法を教えてください

0 投票する
2 に答える
3954 参照

c# - UTM を緯度経度に変換する際の不正確さ

UTM 座標 (X/Y) (Datum ED50) を緯度/経度に変換しましたが、結果が正確ではありません。少なくとも 500 メートルの誤差があります。

ライブラリを使用しましたhttps://proj4net.codeplex.com/

キーは Datum ED50 だと思います

これは私のコードです:

更新しました

DotSpatial ( https://dotspatial.codeplex.com ) も使用しましたが、同じ結果が得られます。

UPDATE 2 EPGS コードを指定しましたが、期待した結果が得られません。これは私の新しいコードです:

0 投票する
1 に答える
1113 参照

shapefile - 形状名の取得方法

DotSpatial を使用して Shapefile を として開くと、IFeatureSet内に形状のコレクションが表示されFeatureSet、これらの形状には属性のコレクションがあります。しかし、形状に関連付けられた名前を見つける明白な方法がわかりませんか?

たとえば、次のコードがあるとします。

Shapeオブジェクトにブレークポイントを設定してこのコードをデバッグすると、属性のコレクションが表示されます。私が使用している例では、各形状に 12 の属性があります。これらの属性の 1 つが形状の名前であると考えられることがわかります (この例では、エクアドルの州を見ています)。しかし、これらの属性のどれが形の名前、この場合は州の名前です。


編集

最初の形状で確認できる使用可能な属性の例を次に示します。

使用可能な形状属性のイメージ

ざっと見てみると、必要なのはインデックス 4 の属性だと思いますが、プログラムでこれを見つけるにはどうすればよいでしょうか。


さらに編集

データをさらに調べてみると、属性のラベルが の DataTable 列名である可能性があるように見えますIFeatureSet

データ テーブルの列の値のイメージ

ただし...これらの形状をインポートしたい場合、これらのどれをプログラムで選択しますか? インポートを行う人が手動で正しいものを選択できるようにする唯一の方法はありますか?

0 投票する
0 に答える
298 参照

dotspatial - DotSpatial を使用したスト​​リームからの読み取り

DotSpatial を使用して、特定のファイルからではなく、ストリーム (またはストリームのセット) からデータを読み取ることは可能ですか? 私はそれを包括的な ZIP ファイルに向けることができ、それがうまくいくことを望んでいました。

Shapefile.Open()とメソッドを見てきましたが、Shapefile.OpenFile()ZIP ファイルや複数のストリームを開くものはないようです。

0 投票する
2 に答える
3402 参照

c# - DotSpatial シェープファイルでのパフォーマンスが非常に遅い

特定のシェープファイルからすべてのフィーチャ データを読み込もうとしています。この場合、DotSpatial を使用してファイルを開き、機能を繰り返し処理しています。この特定のシェープファイルのサイズはわずか 9 MB で、dbf ファイルは 14 MB です。ループする機能はおよそ 75,000 あります。

これはすべてコンソール アプリを介してプログラムで行われるため、レンダリングなどは一切行われないことに注意してください。

形状ファイルをロードするときに、再投影してから繰り返します。再投影の読み込みは非常に高速です。ただし、コードが foreach ブロックに到達するとすぐに、データの読み込みに丸 2 分近くかかり、VisualStudio でのデバッグ時に約 2 GB のメモリを使用します。これは、かなり小さいデータ ファイルに対して、非常に過剰に思えます。

コマンド ラインから Visual Studio の外部で同じコードを実行しましたが、時間はまだ約 2 分で、プロセスには約 1.3 GB のメモリが必要です。

とにかくこれをスピードアップする方法はありますか?

以下は私のコードです:

興味深いことに、VS イミディエイト ウィンドウを使用すると、非常に高速で、まったく遅延がありません...