อ่าน GeoTiff โดยใช้. NET


11

มีห้องสมุดที่มีการจัดการสำหรับการอ่านพิกัดจากไฟล์geotiffใน. NET?

ฉันรู้ว่ามันสามารถทำได้ผ่าน GDAL แต่ฉันกำลังมองหาทางเลือกที่มีการจัดการ


คุณสามารถใช้ Manifold: manifold.netแต่คุณต้องการอย่างน้อย runtime ของพวกเขาในการแจกจ่ายพร้อมกับใบสมัครของคุณ คุณจะต้องอ่าน GeoTIFF ในฐานะที่เป็นองค์ประกอบ Manifold ก่อนที่จะทำการสืบค้นจากมันซึ่งอาจไม่เป็นปัญหาสำหรับคุณ มันคือการจัดการ VC ++ ทั้งหมดภายใต้ประทุนและผู้อ่าน GeoTIFF ของพวกเขาเขียนขึ้นโดยพวกเขา คุณสามารถทดสอบกับสคริปต์ VBScript หรือ C # ภายในแอปพลิเคชันแล้วพอร์ตไปยังแอปภายนอกใน C # หรืออะไรก็ตาม
mdsumner

มิฉะนั้น API mapwindow อาจจะมีประโยชน์ผมแน่ใจว่ามีคนอื่น ๆ อีกด้วยซึ่งผมจะโพสต์ถ้าผมจำ
mdsumner

คำตอบ:



10

คุณสามารถใช้GDAL รวม .NET ห่อ สิ่งนี้ช่วยให้คุณสามารถเข้าถึงฟังก์ชัน GDAL ใด ๆ จากภายในรหัสที่ได้รับการจัดการ


ฉันเห็นด้วย ... ดีที่สุดที่จะยึดติดกับรหัสทดสอบการต่อสู้ในกรณีนี้
WolfOdrade

สิ่งนี้ยังคงมีการจัดการ GDAL ภายใต้ฝากระโปรง ในกรณีนี้ฉันกำลังมองหาการจัดการเท่านั้น
BjartN

1
@BjartN: คุณสามารถใช้ System.Drawing.Bitmap.PropertyItems ได้ตลอดเวลาจากนั้นจัดการกับการประมวลผลแท็ก GeoTiff ด้วยตัวคุณเอง: remotesensing.org/geotiff/spec/geotiff2.6.html#2.6.1 อย่างไรก็ตามฉันควรใช้ wrapper ที่มีการจัดการ รอบ ๆ ห้องสมุดพื้นเมือง ...
Reed Copsey

ขอบคุณนี่อาจเป็นสิ่งที่ฉันกำลังมองหา ฉันจะตรวจสอบ :) นอกจากนี้ฉันอาจท้ายด้วยเสื้อคลุมที่มีการจัดการ แต่ฉันไม่กระตือรือร้นที่จะพึ่งพา GDAL จะชอบสิ่งที่เบากว่า
BjartN

3

คุณจะไม่เห็นมากใน C # ที่มีการจัดการเนื่องจากข้อ จำกัด ด้านประสิทธิภาพและการใช้หน่วยความจำที่กำหนดโดยเลเยอร์การจัดการหน่วยความจำ. NET Framework อย่าเข้าใจฉันผิด - ฉันรัก C # และ. NET อย่างไรก็ตามภาษา C ++ นั้นเร็วกว่ามากและในความคิดของฉันไม่ค่อยน่าจะเขียนในกรณีนี้

โดยทั่วไปการสำรวจจะมีไฟล์ GeoTIFF จำนวนมากซึ่งต้องการหน่วยความจำและการจัดการข้อมูลจำนวนมากเมื่อดำเนินการจัดรูปแบบทางภูมิศาสตร์ (เช่น WGS82 ถึง UTMM ถึงพิกัด TIFF XY แล้วกลับมาอีกครั้ง) ความต้องการประสิทธิภาพหน่วยความจำและประสิทธิภาพการจัดการเพิ่มขึ้นเมื่อคุณเกี่ยวข้อง สิ่งต่าง ๆ เช่นการรวบรวมผลลัพธ์ของการสำรวจเชิงเส้นรัศมีและพื้นที่

คุณอาจไม่ต้องการได้ยินสิ่งนี้ แต่การเขียนโปรแกรมแยกวิเคราะห์ในภาษา C ++ และการรวมเข้าไปใน C # จะเพิ่มประสิทธิภาพอย่างมากและกำจัดข้อ จำกัด ด้านหน่วยความจำ การเขียนโปรแกรมแยกวิเคราะห์ค่อนข้างง่ายจริง ๆ และจะมีน้ำหนักเบามากเนื่องจากคุณสามารถปรับให้เหมาะกับความต้องการของคุณ คุณจะพบสิ่งนี้เป็นจริงโดยเฉพาะเมื่อรวมคุณสมบัติขั้นสูงเช่นการเลือกอัตโนมัติและการขยายไฟล์ GeoTIFF


ผมให้คุณจุดสำหรับการเพิ่มค่า :)
BjartN

ชื่นชมมาก! ;)
Mike Christian

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.