.NETを使用したGeoTiffの読み取り


11

.NETのgeotiffファイルから座標を読み取るためのマネージライブラリはありますか?

GDALを介して実行できることは知っていますが、管理された代替手段を探しています。


Manifold:マニホールド .netを使用できますが、アプリケーションで配布するには少なくともランタイムが必要です。ただし、クエリを実行する前にGeoTIFFをManifoldコンポーネントとして読み取る必要があります。それはすべて内部で管理されているVC ++であり、GeoTIFFリーダーは彼らによって書かれています。アプリケーション内でVBScriptまたはC#スクリプトを使用してテストし、C#などの外部アプリに移植できます。
mdsumner

そうでない場合はmapwindow apiが役立つかもしれません。覚えている場合は投稿するものもあると思います
-mdsumner

回答:



10

GDALに含まれる.NETラッパーを使用できます。これにより、マネージコード内からGDAL機能にアクセスできます。


私は同意します...この場合、戦闘テスト済みのコードに固執するのが最善です
-WolfOdrade

これはまだ内部で管理されていないGDALです。この特定のケースでは、管理対象のみを探しています。
BjartN

1
@BjartN:常にSystem.Drawing.Bitmap.PropertyItemsを使用してから、GeoTiffタグの処理を自分で処理できます:remotesensing.org/geotiff/spec/geotiff2.6.html#2.6.1 ただし、マネージラッパーを使用したいネイティブライブラリ...周り
リードCopsey

これは私が探しているものかもしれません。調査します:)また、マネージラッパーになる可能性がありますが、GDALに依存することにあまり熱心ではありません。より軽量なものを好むでしょう。
BjartN

3

.NET Frameworkのメモリ管理レイヤーによって課されるパフォーマンスとメモリ使用量の制限により、マネージC#には多くは表示されません。誤解しないでください-私はC#と.NETが大好きです。ただし、この場合、ネイティブC ++の方がはるかに高速であり、(私の意見では)書くのにイライラしません。

通常、調査には多くのGeoTIFFファイルが含まれます。ジオ変換(WGS82からUTMMからTIFF XY座標への変換、およびその逆の変換)を実行すると、多くのメモリとデータの操作が必要になります。線形、放射状、および面積の調査結果のコンパイルなど。

おそらくこれは聞きたくないでしょうが、ネイティブC ++でパーサーを記述してからC#にラップすると、パフォーマンスが大幅に向上し、メモリの制限がなくなります。パーサーの作成は実際には非常に簡単で、ニーズに合わせて調整できるため、非常に軽量です。GeoTIFFファイルの自動選択やスパニングなどのより高度な機能を統合する場合、これは特に当てはまります。


私はあなたに付加価値のためのポイントを与えます:)
BjartN

大変感謝いたします!;)
マイク・クリスチャン

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.