.NET kullanarak GeoTiff okuma


11

.NET'te bir geotiff dosyasından koordinatları okumak için yönetilen bir kütüphane var mı ?

GDAL aracılığıyla yapılabileceğini biliyorum, ama yönetilen bir alternatif arıyorum .


Manifold: manifold.net kullanabilirsiniz , ancak uygulamanızla dağıtmak için en azından çalışma zamanlarına ihtiyacınız olacaktır. Sorgulamadan önce GeoTIFF'i bir Manifold bileşeni olarak okumalısınız, bu sizin için bir sorun olmayabilir. Her şey başlık altında VC ++ yönetiyor ve GeoTIFF okuyucuları onlar tarafından yazılıyor. Uygulama içinde VBScript veya C # komut dosyalarıyla test edebilir ve ardından C # veya başka bir uygulamada harici bir uygulamaya bağlantı yapabilirsiniz.
mdsumner

aksi takdirde mapwindow api yararlı olabilir, eminim hatırlayacağım başkaları da var
mdsumner

Yanıtlar:



10

Sen kullanabilirsiniz GDAL NET sarmalayıcılarını dahil . Bu, yönetilen koddan GDAL işlevlerinden herhangi birine erişmenizi sağlar.


Katılıyorum ... bu durumda savaşta test edilmiş kodla devam etmek
WolfOdrade

Bu hala kaputun altında yönetilmeyen GDAL. Bu özel durumda ben sadece yönetilen arıyorum.
BjartN

1
@BjartN: Her zaman System.Drawing.Bitmap.PropertyItems'i kullanabilir, ardından GeoTiff etiketlerini kendiniz işleyebilirsiniz: remotesensing.org/geotiff/spec/geotiff2.6.html#2.6.1 Ancak, yönetilen bir sarıcı kullanmayı tercih ederim yerel bir kütüphanenin etrafında ...
Reed Copsey

Teşekkürler aradığım şey bu olabilir. Ben de araştıracağım :) Ayrıca, yönetilen bir ambalajla karşılaşabilirim, ancak GDAL'a bağımlılık konusunda çok istekli değilim. Daha hafif bir şey tercih ederdim.
BjartN

3

.NET Framework bellek yönetimi katmanının getirdiği performans ve bellek kullanımı sınırlaması nedeniyle yönetilen C # 'da çok fazla görmezsiniz. Beni yanlış anlamayın - C # ve .NET'i seviyorum. Ancak, yerel C ++ çok daha hızlı ve (bence) bu durumda yazmak için daha az sinir bozucu.

Anketler, jeotransformlar gerçekleştirirken (yani WGS82'den UTMM'ye, TIFF XY koordinatına ve daha sonra tekrarya kadar) çok fazla bellek ve manipülasyon gerektiren çok sayıda GeoTIFF dosyası içerir. doğrusal, radyal ve alan araştırmalarının sonuçlarını derlemek gibi şeyler.

Muhtemelen bunu duymak istemezsiniz, ancak yerel C ++ 'da bir ayrıştırıcı yazmak ve sonra C # içine sarmak performansı büyük ölçüde artıracak ve bellek sınırlamalarını ortadan kaldıracaktır. Bir ayrıştırıcı yazmak aslında oldukça kolaydır ve ihtiyaçlarınıza göre özelleştirebileceğiniz için çok hafif olacaktır. GeoTIFF dosyalarının otomatik seçimi ve yayılması gibi daha gelişmiş özellikleri entegre ederken bunu özellikle doğru bulacaksınız.


Size katma değer için bir puan
veriyorum

Çok takdir! ;)
Mike Christian

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.