Чтение GeoTiff с использованием .NET


11

Существует ли управляемая библиотека для считывания координат из файла geotiff в .NET?

Я знаю, что это можно сделать через GDAL, но я ищу управляемую альтернативу.


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

в противном случае API MapWindow может быть полезным, я уверен, что есть и другие, которые я
опубликую,

Ответы:



10

Вы можете использовать GDAL .NET оболочки . Это позволяет получить доступ к любой из функций 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, что требует большого объема памяти и манипулирования данными при выполнении геотрансформации (то есть с координат XG в WGS82 в UTMM в TIFF и затем обратно). Потребность в производительности памяти и эффективность управления еще больше возрастают, когда вы задействуете такие вещи, как составление результатов линейных, радиальных и территориальных съемок.

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


Я даю вам очко за добавленную стоимость :)
BjartN

Очень признателен! ;)
Майк Кристиан

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.