Membaca GeoTiff menggunakan .NET


11

Apakah ada perpustakaan yang dikelola untuk membaca koordinat dari file geotiff di .NET?

Saya tahu ini dapat dilakukan melalui GDAL, tetapi saya mencari alternatif yang dikelola .


Anda dapat menggunakan Manifold: manifold.net , tetapi setidaknya Anda perlu runtime untuk didistribusikan dengan aplikasi Anda. Anda harus membaca GeoTIFF sebagai komponen Manifold sebelum meminta dari itu, yang mungkin tidak cocok untuk Anda. Semuanya dikelola VC ++ di bawah tenda, dan pembaca GeoTIFF mereka ditulis oleh mereka. Anda dapat menguji dengan script VBScript atau C # di dalam aplikasi, dan kemudian port ke aplikasi eksternal di C # atau apa pun.
mdsumner

kalau tidak api mapwindow mungkin berguna, saya yakin ada orang lain juga yang akan saya posting jika saya ingat
mdsumner

Jawaban:



10

Anda dapat menggunakan pembungkus .NET yang disertakan dalam GDAL . Ini memungkinkan Anda untuk mengakses fungsionalitas GDAL dari dalam kode yang dikelola.


Saya setuju ... lebih baik tetap menggunakan kode yang sudah teruji pertempuran dalam kasus ini
WolfOdrade

Ini masih belum dikelola GDAL di bawah tenda. Dalam kasus khusus ini saya hanya mencari yang dikelola.
BjartN

1
@BjartN: Anda selalu dapat menggunakan System.Drawing.Bitmap.PropertyItems, kemudian menangani sendiri pemrosesan tag GeoTiff : remotesensing.org/geotiff/spec/geotiff2.6.html#2.6.1 Namun, saya lebih suka menggunakan pembungkus yang dikelola sekitar perpustakaan asli ...
Reed Copsey

Terima kasih, mungkin ini yang saya cari. Saya akan menyelidiki :) Juga, saya mungkin berakhir dengan pembungkus yang dikelola, tapi saya tidak terlalu tertarik untuk mengambil ketergantungan pada GDAL. Lebih suka sesuatu yang lebih ringan.
BjartN

3

Anda tidak akan melihat banyak di C # yang dikelola, karena keterbatasan kinerja dan penggunaan memori yang diberlakukan oleh lapisan manajemen memori .NET Framework. Jangan salah paham - Saya suka C # dan .NET. Namun, asli C ++ jauh lebih cepat dan (menurut saya) kurang membuat frustrasi, dalam hal ini.

Survei biasanya berisi banyak file GeoTIFF, yang membutuhkan banyak memori dan manipulasi data, saat melakukan geotransform (mis. WGS82 ke UTMM ke TIFF XY, berkoordinasi, dan kemudian kembali lagi.) Permintaan kinerja memori dan efisiensi manajemen meningkat lebih jauh, ketika Anda melibatkan hal-hal seperti menyusun hasil survei linear, radial, dan area.

Anda mungkin tidak ingin mendengar ini, tetapi menulis parser dalam bahasa asli C ++ dan kemudian membungkusnya ke dalam C # akan sangat meningkatkan kinerja dan menghilangkan keterbatasan memori. Menulis parser sebenarnya cukup mudah, dan akan sangat ringan, karena Anda dapat menyesuaikannya dengan kebutuhan Anda. Anda akan menemukan ini terutama benar, ketika mengintegrasikan fitur-fitur yang lebih maju, seperti pemilihan otomatis dan rentang file GeoTIFF.


Saya memberi Anda poin untuk nilai tambah :)
BjartN

Sangat dihargai! ;)
Mike Christian

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.