Читання GeoTiff за допомогою .NET


11

Чи є керована бібліотека для зчитування координат з файлу геотифу в .NET?

Я знаю, що це можна зробити через GDAL, але я шукаю керовану альтернативу.


Ви можете використовувати Manifold: manifeold.net , але для розповсюдження разом із додатком вам знадобиться принаймні їх час виконання. Вам потрібно буде прочитати GeoTIFF як компонент Manifold, перш ніж запитувати з нього запит, який, можливо, для вас не підходить. Це все управляється VC ++ під кришкою, і їх читач GeoTIFF написаний ними. Ви можете протестувати сценарії VBScript або C # всередині програми, а потім перенести порт на зовнішній додаток у C # або будь-якому іншому.
mdsumner

в іншому випадку вікно mappі може бути корисним, я впевнений, що є й інші, які я опублікую, якщо пам’ятаю
mdsumner

Відповіді:



10

Ви можете використовувати обгортки .NET, включені в GDAL . Це дозволяє отримати доступ до будь-якої функції GDAL з керованого коду.


Я погоджуюся ... найкраще дотримуватися перевіреного в цій справі коду
WolfOdrade,

Це все ще некерований GDAL під кришкою. У цьому конкретному випадку я шукаю лише керованого.
BjartN

1
@BjartN: Ви завжди можете використовувати System.Drawing.Bitmap.PropertyItems, а потім обробляти обробку тегів GeoTiff самостійно: remotesensing.org/geotiff/spec/geotiff2.6.html#2.6.1 Однак я б краще використовувати керовану обгортку навколо рідної бібліотеки ...
Рід Копсі

Це може бути те, що я шукаю. Я буду розслідувати :) Крім того, я можу закінчитися керованою обгорткою, але я не дуже захоплююсь залежністю від GDAL. Воліла б щось більш легке.
BjartN

3

У керованому C # ви не побачите багатьох із-за обмеження продуктивності та використання пам'яті, накладеного рівнем управління пам’яттю .NET Framework. Не зрозумійте мене неправильно - я люблю C # і .NET. Однак рідний C ++ набагато швидше і (на мій погляд) менше неприємно писати, в цьому випадку.

Опитування зазвичай містять багато файлів GeoTIFF, що вимагає багато пам’яті та маніпулювання даними при виконанні геотрансформацій (тобто WGS82 до координати UTMM до TIFF XY, а потім знову назад). Попит на продуктивність пам'яті та ефективність управління додатково збільшується, коли ви залучаєте такі речі, як складання результатів лінійних, радіальних та місцевих обстежень.

Ви, мабуть, не хочете це почути, але написання аналізатора на рідному C ++ та його згортання в C # значно збільшить продуктивність та усуне обмеження пам'яті. Написати аналізатор насправді досить легко, і він буде дуже легким, оскільки ви можете налаштувати його під свої потреби. Це з’явиться особливо правдиво при інтеграції більш досконалих функцій, таких як автоматичний підбір та простягання файлів GeoTIFF.


Я даю вам бал за додану вартість :)
BjartN

Цінується! ;)
Майк Крістіан

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.