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

11

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

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

BjartN
источник
Вы можете использовать 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
Очень признателен! ;)
Майк Кристиан
2

Как насчет этого кода ?

Чед Купер
источник
Это также неуправляемый GDAL под капотом
BjartN
Ссылка больше не доступна
Graviton