أكثر

Gdal_translate: خطأ في الإسقاط؟

Gdal_translate: خطأ في الإسقاط؟


أنا أستخدم إجراءات مكتبة GDAL لإنشاء تسلسل هرمي مترابط للصور لاستخدامها مع Google Earth. الصور هي مجرد ملفات PNG تم إنشاؤها باستخدام Matplotlib. لبلاط الصور التي نستخدمهاgdal_translate,غدالواربوgdal2tiles.py. عند استخدام تثبيت Macports لـ GDAL (تم التثبيت عبرمنفذ sudo تثبيت gdal، كل شيء يعمل بشكل جميل ، ويتم إنشاء التسلسل الهرمي المبلط وتحميله في Google Earth. لكن لأسباب لا أفهمها ، فإن تثبيت Anaconda يعطينا خطأ.

ها هي نتائجgdalinfoفي ملف PNG نموذجي ننتجه:

٪ gdalinfo plot.png "> نشر هذا السؤال بشكل متقاطع ، لكنني اكتشفت للتو موقع تبادل المكدس هذا ، ولا أعرف حتى الآن كيفية ترحيل سؤالي).


اعتبارًا من أسبوع أو نحو ذلك ، تتضمن عبوة Anaconda الخاصة بـ GDAL الآن جميع ملفات الإسقاط. أمر التثبيت الخاص بحزمة Anaconda الخاصة بـ GDAL هو

٪ conda تثبيت gdal

يتم تخزين ملفات الإسقاط تحتإعداد $ ANACONDA / gdal / share $ soGDAL_DATA لهذا المسار هو كل ما هو مطلوب لتجنب المشاكل التي كنت أواجهها أعلاه.

٪ تصدير GDAL_DATA = $ ANACONDA / share / gdal

لم تعد هناك حاجة للاعتماد على MacPorts و Frameworks و HomeBrew و gdal.org وما إلى ذلك لهذه الملفات الإضافية.


(ملاحظة: هذه إجابة جزئية!)

اكتشفت أن ملفات .vrt التي تم إنشاؤها بواسطة تثبيت MacPorts وتثبيت Anaconda كانت مختلفة. احتوت سلسلة "WKT" لإصدار Anaconda على سلسلة "TOWGS84 [0،0،0،0،0،0]" إضافية ، أي

Plot.vrt (اناكوندا)

GEOGCS ["WGS 84"، DATUM ["WGS_1984"، SPHEROID ["WGS 84"، 6378137،298.257223563، AUTHORITY ["EPSG"، "7030"]]، TOWGS84 [0،0،0،0،0،0، 0]، AUTHORITY ["EPSG"، "6326"]]، PRIMEM ["Greenwich"، 0، AUTHORITY ["EPSG"، "8901"]]، UNIT ["degree"، 0.0174532925199433، AUTHORITY ["EPSG"، " 9108 "]]، AUTHORITY [" EPSG "،" 4326 "]]

MacPorts (plot.vrt)

GEOGCS ["WGS 84"، DATUM ["WGS_1984"، SPHEROID ["WGS 84"، 6378137،298.257223563، AUTHORITY ["EPSG"، "7030"]]، AUTHORITY ["EPSG"، "6326"]]، PRIMEM [ "Greenwich"، 0، AUTHORITY ["EPSG"، "8901"]]، UNIT ["Degree"، 0.0174532925199433، AUTHORITY ["EPSG"، "9122"]]، AUTHORITY ["EPSG"، "4326"]]

لذلك قمت بإنشاء ملف "pro.prj" يحتوي على سلسلة WKT (إصدار Anaconda ، مع سلسلة TOWGS84 الإضافية [0،0،0،0،0،0] ") ، وقمت بتمرير هذا إلى 'gdal_translate'

٪ gdal_translate -of VRT -a_srs proj.prj -gcp 0 0-120 0 -gcp 2400 0 -60 0 -gcp 2400 2400 -60 -60 -90 plot.png ">

تم حل المشكلة! بعد فوات الأوان ، كانت المشكلة بسيطة للغاية.

سيتم تشغيل تثبيت MacPorts بشكل جيد (على الرغم من أن gdal2tiles.py أصدر تحذيرات) بدون مجموعة متغيرات البيئة GDAL_DATA. لذلك توصلت إلى الاعتقاد بأن مشكلتي كانت "بسيطة" بما يكفي لعدم طلب ملفات بيانات إضافية.

ومع ذلك ، لن يتم تشغيل إصدار Anaconda بدون تعيين GDAL_DATA بشكل صحيح. ولسبب ما ، فإن ملفات البيانات المثبتة مع Macports لا تعمل مع Anaconda (أسماء الملفات كلها متشابهة ، ولكن هناك اختلافات طفيفة في المحتوى).

ستعمل Anaconda مع ملفات البيانات الخاصة بها:

تصدير GDAL_DATA = / Library / Frameworks / GDAL.framework / Versions / Current / Resources / gdal

لاحظ أن هذا يعمل مع MacPorts أيضًا.

وللتسجيل ، على الرغم من أن MacPorts لا يبدو أنه يحتاج إلى إعداد GDAL_DATA لمشكلتي البسيطة ، فإن الإعداد

تصدير GDAL_DATA = / opt / local / share / gdal

يمنع جميع التحذيرات المزعجة التي تفيد بأن gdal2tiles.py يتسبب في حدوث مشكلات مع Macports. مرة أخرى ، لا تعمل ملفات البيانات هذه مع Anaconda ، لأسباب لم أستطع حتى البدء في فهمها!