أكثر

UnicodeDecodeError: أثناء تثبيت gdal في بيئة افتراضية Python جديدة

UnicodeDecodeError: أثناء تثبيت gdal في بيئة افتراضية Python جديدة


كنت أحاول إنشاء بيئة افتراضية Python لبعض تطوير نظم المعلومات الجغرافية الأولية. أنا ركبتنقطةوVirtualenvثم جرب الأوامر التالية من Linux-Terminal لإنجاز المهمة

$ cd Test / virtualenvs_for_test $ virtualenv - حزم بلا موقع - postgis-cb-env $ source postgis-cb-env / bin / تفعيل $ pip install gdal

ولكن تم العثور على رسالة الخطأ التالية:

خطأ: فشل الأمر "gcc" مع حالة الخروج 1

تنظيف ... الأمر / home / gislinux / Test / virtualenvs / postgis-cb-env / bin / python -c "استيراد setuptools ، tokenize ؛ملف= '/ home / gislinux / Test / virtualenvs / postgis-cb-env / build / gdal / setup.py' ؛ exec (compile (getattr (tokenize، 'open'، open) (ملف) .read (). replace (' r n'، ' n')، ملف، 'exec')) "install --record /tmp/pip-h8eZSu-record/install-record.txt --single-version-externally -aged --compile - install-headers / home / gislinux / Test / virtualenvs /postgis-cb-env/include/site/python2.7 فشل مع رمز الخطأ 1 في / home / gislinux / Test / virtualenvs / postgis-cb-env / build / gdal Traceback (آخر مكالمة أخيرة): ملف "/ home / gislinux / Test / virtualenvs / postgis-cb-env / bin / pip "، السطر 11 ، في ملف sys.exit (main ())" / home / gislinux / Test / virtualenvs / postgis-cb-env / local / lib /python2.7/site-packages/pip/فيه.py "، السطر 185 ، في ملف أمر الإرجاع الرئيسي (cmd_args)" /home/gislinux/Test/virtualenvs/postgis-cb-env/local/lib/python2.7/site-packages/pip/basecommand.py "، السطر 161 ، في النص الرئيسي = ' n'.join (complete_log) خطأ UnicodeDecode: لا يمكن لبرنامج الترميز 'ascii' فك تشفير البايت 0xe2 في الموضع 42: الترتيب الترتيبي ليس في النطاق (128)

ليس لدي فكرة مؤكدة عن ماهية هذا الخطأ بالضبط. على الرغم من أن البحث الأولي على الويب اقترح الحاجة إلى تغيير الترميز منأسكيلutf8، ولكن كيف؟


يجب تثبيت libgdal-dev ثم تثبيت gdal بالمسارات:

تصدير CPLUS_INCLUDE_PATH = / usr / include / gdal export C_INCLUDE_PATH = / usr / include / gdal

Geoai-rasterio 1.2.4

تستخدم أنظمة المعلومات الجغرافية GeoTIFF وتنسيقات أخرى لتنظيم مجموعات البيانات الشبكية أو النقطية وتخزينها. يقرأ Rasterio ويكتب هذه التنسيقات ويوفر واجهة برمجة تطبيقات Python استنادًا إلى مصفوفات N-D.

يعمل Rasterio 1.2 مع إصدارات Python من 3.6 إلى 3.9 ، وإصدارات Numpy 1.15 والأحدث ، وإصدارات GDAL من 2.3 إلى 3.2. الحزم الثنائية الرسمية لنظامي Linux و Mac OS X متوفرة على PyPI. تتوفر الحزم الثنائية غير الرسمية لنظام التشغيل Windows من خلال قنوات أخرى.

اقرأ الوثائق لمزيد من التفاصيل: https://rasterio.readthedocs.io/.


UnicodeDecodeError: أثناء تثبيت gdal في بيئة افتراضية Python جديدة - أنظمة المعلومات الجغرافية

تتكون شبكة Stack Exchange من 177 مجتمع Q & ampA بما في ذلك Stack Overflow ، أكبر مجتمع عبر الإنترنت وأكثره ثقة للمطورين للتعلم ومشاركة معارفهم وبناء حياتهم المهنية.

المجتمع الحالي

مجتمعاتك

المزيد من مجتمعات التبادل المكدس

قم بتوصيل وتبادل المعرفة في مكان واحد منظم وسهل البحث.

مطور GeoSpatial FOSS4G ومتحمس OSGeo.

أعلى مشاركات الشبكة

الحفاظ على الانظار.

لم يقم هذا المستخدم بنشر & # x27t حتى الآن.

شارات (2)

فضة

برونزية

أندر

تصميم / شعار الموقع & # 169 2021 مساهمات مستخدم Stack Exchange Inc المرخصة بموجب cc by-sa. مراجعة 2021.7.1.39625

بالنقر فوق "قبول جميع ملفات تعريف الارتباط" ، فإنك توافق على أن Stack Exchange يمكنها تخزين ملفات تعريف الارتباط على جهازك والكشف عن المعلومات وفقًا لسياسة ملفات تعريف الارتباط الخاصة بنا.


التركيب¶

المكتبات الجيومكانية¶

تثبيت قاعدة البيانات¶

تكوين قواعد البيانات¶

اضبط إعداد المحرك على إحدى الخلفيات المكانية.

أضف django.contrib.gis إلى INSTALLED_APPS

مثل تطبيقات مساهمة Django الأخرى ، سوف تفعل ذلك فقط تحتاج إلى إضافة django.contrib.gis إلى INSTALLED_APPS في إعداداتك. هذا حتى يمكن تحديد موقع قوالب نظم المعلومات الجغرافية - إذا لم يتم ذلك ، فلن تعمل ميزات مثل المسؤول الجغرافي أو خرائط مواقع KML بشكل صحيح.


ذكر إصدار Python في المستودع عند استخدام pyenv-virtualenv

تعرفت على Virtualenv و pyenv منذ فترة ، واستخدمتهما بشكل منفصل لفترة من الوقت. في الآونة الأخيرة ، أثناء التحقيق في أفضل الممارسات والأدوات لتطوير Python ، وجدت pyenv-virtualenv. أجده مفيدًا (إنه يعتني باستخدام الطريقة الصحيحة لإنشاء بيئة افتراضية اعتمادًا على إصدار Python) ونظيفة (نظرًا لأن دليل venv غير متشابك مع قاعدة التعليمات البرمجية الخاصة بك).

المشكلة التي أجدها هي أنه في السابق (عند استخدام pyenv و virtualenv بشكل منفصل) كنت سأقوم بدفع ملف requirements.txt وملف الإصدار python الخاص بي إلى المستودع. عند استنساخ المشروع بعد بضعة أشهر ، كان بإمكاني إعادة إنشاء بيئتي الافتراضية باستخدام المتطلبات. txt ويمكنني التحقق من إصدار .python لمعرفة إصدار Python الذي كنت أقوم بتطويره.

ومع ذلك ، مع pyenv-virtualenv ، يكون ملف .python-version أقل فائدة. نظرًا لأنه في pyenv-virtualenv ، يتم التعامل مع البيئة الافتراضية كإصدار جديد من Python داخل pyenv ، والطريقة لربط مشروعك بالبيئة الافتراضية هي عن طريق "إعداد إصدار Python" لتلك البيئة الافتراضية ، لم يعد الملف يحتوي على الملف الدقيق إصدار Python الذي تستخدمه.

لنتخيل أنني أعمل في مشروع أويلر ونقرر إنشاء بيئة افتراضية له باستخدام pyenv-virtualenv ، وأنا أسميها project_euler. من أجل جعل قاعدة الكود الخاص بي تعمل على تلك البيئة الافتراضية ، أحتاج إلى الانتقال إلى دليل المشروع واكتب: pyenv local project_euler.

الآن كل شيء يعمل بشكل رائع محليًا ، ولكن عندما أقوم بالدفع إلى المستودع الخاص بي وأستعيده مرة أخرى في غضون بضعة أشهر ، لن يكون إصدار .python مفيدًا للغاية ، لأنه سيقول فقط "project_euler". علاوة على ذلك ، إذا كان الشخص الذي يقوم بتنزيل المستودع لديه Virtualenv يسمى project_euler أيضًا والذي تم تكوينه بشكل مختلف عن الشخص الذي كنت أستخدمه عندما ضغطت ، قد يستخدمون بيئة تم تكوينها بشكل خاطئ دون أن يدركوا ذلك. لم تكن هذه مشكلة عند استخدام pyenv و virtualenv بشكل منفصل ، نظرًا لأن إصدار .python لم يتضمن سوى معلومات حول إصدار Python في ذلك الوقت ، وليس اسم البيئة الافتراضية قيد الاستخدام.

ما هي أفضل الممارسات للتعامل مع هذه القضايا؟ يمكنني التفكير في عدة خيارات:


UnicodeDecodeError: أثناء تثبيت gdal في بيئة افتراضية Python جديدة - أنظمة المعلومات الجغرافية

يقرأ Rasterio ويكتب البيانات النقطية الجغرافية المكانية.

تستخدم أنظمة المعلومات الجغرافية GeoTIFF وتنسيقات أخرى لتنظيم مجموعات البيانات الشبكية أو النقطية وتخزينها. يقرأ Rasterio ويكتب هذه التنسيقات ويوفر واجهة برمجة تطبيقات Python استنادًا إلى مصفوفات N-D.

يعمل Rasterio 1.2 مع إصدارات Python من 3.6 إلى 3.9 ، وإصدارات Numpy 1.15 والأحدث ، وإصدارات GDAL من 2.3 إلى 3.2. الحزم الثنائية الرسمية لنظامي Linux و Mac OS X متوفرة على PyPI. تتوفر الحزم الثنائية غير الرسمية لنظام التشغيل Windows من خلال قنوات أخرى.

اقرأ الوثائق لمزيد من التفاصيل: https://rasterio.readthedocs.io/.

فيما يلي مثال على بعض الميزات الأساسية التي يوفرها Rasterio. تتم قراءة ثلاثة نطاقات من صورة ويتم حساب متوسطها لإنتاج شيء مثل النطاق متعدد الألوان. تتم كتابة هذا النطاق الجديد بعد ذلك في نطاق واحد جديد TIFF.

يتيح Rasterio الوصول إلى خصائص ملف البيانات النقطية الجغرافية المكانية.

توفر مجموعة البيانات النقطية أيضًا طرقًا للحصول على شرائح مصفوفة ممتدة وفقًا للإحداثيات المحددة جغرافيًا.

تم توثيق واجهة سطر أوامر Rasterio ، المسماة "rio" ، في cli.rst. يفتح أمر rio insp غطاء أي مجموعة بيانات نقطية حتى تتمكن من استخدام بايثون.

يوفر Rio القدرة على إنشاء أوامر فرعية باستخدام المكونات الإضافية. راجع cli.rst لمزيد من المعلومات حول إنشاء المكونات الإضافية.

راجع سجل البرنامج المساعد للحصول على قائمة بالمكونات الإضافية المتاحة.

الرجاء تثبيت Rasterio في بيئة افتراضية حتى لا تتلاعب متطلباتها ببيثون نظامك.

تم بناء عجلات Linux في PyPI على CentOS ويتوقع libcurl أن تكون الشهادات في /etc/pki/tls/certs/ca-bundle.crt. شهادات Ubuntu ، على سبيل المثال ، موجودة في موقع مختلف. قد تحتاج إلى استخدام متغير البيئة CURL_CA_BUNDLE لتحديد موقع شهادات SSL على جهاز الكمبيوتر الخاص بك. في نظام Ubuntu ، قم بتعيين المتغير كما هو موضح أدناه.

لدى Rasterio تبعية مكتبة C: GDAL & gt = 2.3. تعتمد GDAL نفسها على بعض المكتبات الأخرى التي توفرها معظم أنظمة التشغيل الرئيسية وتعتمد أيضًا على مكتبات GEOS و PROJ4 غير القياسية. كيفية تلبية هذه المتطلبات سيتم شرحها أدناه.

تبعيات Rasterio's Python هي (انظر ملف البيانات الوصفية للحزمة):

"" Affine attrs certifi click & gt = 4.0 cligj & gt = 0.5 numpy snuggs & gt = 1.4.1 click-plugins setuptools

[الكل] فرضية pytest-cov & gt = 2.2.0 matplotlib boto3 & gt = 1.2.4 numpydoc pytest & gt = 2.8.2 ipython & gt = 2.0 sphinx Packaging ghp-import sphinx-rtd-theme

[مستندات] ghp-import numpydoc sphinx sphinx-rtd-theme

[اختبار] boto3 & gt = 1.2.4 عبوة فرضية pytest-cov & gt = 2.2.0 pytest & gt = 2.8.2 جميل "

يتطلب التطوير (انظر المتطلبات- dev.txt) Cython والحزم الأخرى.

استخدم التوزيع الثنائي الذي يوفر بشكل مباشر أو غير مباشر GDAL إن أمكن.

توزيعات Rasterio متاحة من UbuntuGIS وقناة Conda-forge الخاصة بـ Anaconda.

تتوفر عجلات Manylinux1 في PyPI.

التوزيعات الثنائية مع مكتبات GDAL و GEOS و PROJ4 المضمنة متاحة لإصدارات OS X 10.9+. للتثبيت ، قم بتشغيل نقطة تثبيت rasterio. هذه العجلات الثنائية مفضلة في الإصدارات الأحدث من النقطة.

إذا كنت لا تريد هذه العجلات وتريد التثبيت من توزيع مصدر ، فقم بتشغيل pip install rasterio - no-binary rasterio بدلاً من ذلك.

مكتبة GDAL المضمنة ضئيلة إلى حد ما ، حيث توفر فقط برامج تشغيل التنسيق التي يتم شحنها مع GDAL ويتم تمكينها افتراضيًا. للوصول إلى المزيد من التنسيقات ، يجب أن تبني من توزيع مصدر (انظر أدناه).

تم إنشاء العجلات الثنائية لـ Rasterio و GDAL بواسطة Christoph Gohlke وهي متوفرة من موقعه على الويب.

لتثبيت rasterio ، ما عليك سوى تنزيل كلا الثنائيين لنظامك (rasterio و GDAL) وتشغيل شيء مثل هذا من مجلد التنزيلات ، مع ضبط إصدار Python الخاص بك.

يمكنك أيضًا تثبيت rasterio مع conda باستخدام قناة Conda-Forge الخاصة بـ Anaconda.

Rasterio هو امتداد Python C ولإنشاء البرنامج ستحتاج إلى مترجم عامل (XCode على OS X وما إلى ذلك). ستحتاج أيضًا إلى تثبيت Numpy مسبقًا على رؤوس Numpy المطلوبة لتشغيل البرنامج النصي لإعداد rasterio. يجب تثبيت Numpy (عبر ملف المتطلبات المشار إليه) قبل تثبيت rasterio. راجع تكوين Travis الخاص بـ rasterio للحصول على مزيد من الإرشادات.

تم تكييف الأوامر التالية من تكوين Travis-CI الخاص بـ Rasterio.

قم بتكييفها حسب الضرورة لنظام Linux الخاص بك.

بالنسبة لبيئة Python القائمة على البيرة ، قم بما يلي.

يمكنك تنزيل توزيع ثنائي لـ GDAL من هنا. ستحتاج أيضًا إلى تنزيل المكتبات والعناوين المجمّعة (بما في ذلك الملفات).

عند البناء من المصدر على Windows ، من المهم معرفة أن setup.py لا يمكنه الاعتماد على gdal-config ، الموجود فقط في أنظمة UNIX ، لاكتشاف مواقع ملفات الرأس والمكتبات التي يحتاجها rasterio لتجميع امتدادات C الخاصة به. في Windows ، يجب توفير هذه المسارات من قبل المستخدم. ستحتاج إلى العثور على ملفات التضمين وملفات المكتبة لـ gdal واستخدام setup.py على النحو التالي. ستحتاج أيضًا إلى تحديد إصدار gdal المثبت من خلال متغير البيئة GDAL_VERSION.

ملاحظة: - no-use-pep517 مطلوب نظرًا لأن النقطة لم تنفذ حاليًا طريقة لتمرير الوسيطات الاختيارية إلى الواجهة الخلفية للبناء عند استخدام PEP 517. انظر هنا لمزيد من التفاصيل.

بدلاً من ذلك ، يمكن استخدام متغيرات البيئة (مثل INCLUDE و LINK) التي يستخدمها برنامج التحويل البرمجي MSVC للإشارة إلى تضمين الدلائل وملفات المكتبة.

لقد نجحنا في ترجمة التعليمات البرمجية باستخدام نفس الإصدار من Microsoft Visual Studio المستخدم في تجميع الإصدار المستهدف من Python (مزيد من المعلومات حول الإصدارات المستخدمة هنا.).

ملاحظة: يجب أن يكون دليل GDAL DLL و gdal-data في Windows PATH وإلا ستفشل rasterio في العمل.

المنتدى الأساسي للأسئلة حول تثبيت واستخدام Rasterio هو https://rasterio.groups.io/g/main. سيقوم المؤلفون والمستخدمون الآخرون بالإجابة على الأسئلة عندما يكون لديهم خبرة للمشاركة ووقت للشرح. يرجى أخذ الوقت الكافي لصياغة سؤال واضح والتحلي بالصبر بشأن الردود.

يرجى عدم إحضار هذه الأسئلة إلى أداة تعقب المشكلات في Rasterio ، والتي نريد حجزها لتقارير الأخطاء والمشكلات الأخرى القابلة للتنفيذ.


قم بتثبيت pygdal من حزم العجلات

التثبيت من الحزم ذات تنسيق العجلات أسرع بكثير (ثانية
مقارنة بالدقائق) ، لأنها لا تتطلب تجميعًا.

لاحظ أن هذا الدليل الذي يحتوي على حزم العجلات يمكن أن يكون له أي اسم سنستخدمه
فقط اسم غرفة القيادة.

قم بتنشيط Virtualenv أولاً.

تأكد من وجود كل من حزم العجلات المطلوبة في دليل غرفة القيادة
(لـ pygdal و numpy).

تأكد من تثبيت GDAL وأن الإصدار يطابق إصدار pygdal.

قم بتثبيت pygdal من حزمة العجلة:

يجب أن تشير غرفة القيادة -f إلى الدليل الذي يحتوي على ملفات whl.

ليست هناك حاجة لتثبيت numpy ، يتم تثبيته تلقائيًا.

يعتمد هذا الجواب على إجابات رائعة أخرى هنا ، ويحاول إعطاء إرشادات كاملة للتفاصيل ، حيث تعثرت ويضيف خطوات لاستخدام تنسيق حزمة العجلة لتسريع عمليات التثبيت المتكررة في virtualenv.

& # 8211 & # 160 يان فلسينسكي
4 ديسمبر 2014 الساعة 9:52

pygdal للفوز !! pypi: "إصدار سهل الاستخدام لـ Virtualenv و setuptools من روابط GDAL python القياسية" & lt3

نعم ، يبدو أن القيام بما يلي قبل تشغيل PIP يعمل:

تكمن مشكلة تثبيت النقطة في gdal في أنها تحصل على الروابط فقط ، وليس المكتبة بأكملها ، لذا يمكن أن تصبح خادعة. تتمثل إحدى طرق حلها في استخدام الأمر pip للتنزيل - ولكن ليس التثبيت. ثم تقوم بتعديل موقع الرأس من ملف التكوين. ثم تقوم بتثبيت ذلك. مه.

كنت أواجه نفس المشكلة لكنني أدركت أن كتابة نص قماش لإعادة تجميع gdal وإنشاء روابط الثعبان سيستغرق وقتًا أقل. يمكنك حتى الاستفادة من filegdb مع ذلك. استمر واستخدم الجوهر الذي كتبته أو قم بتعديله على محتوى قلوبك.

بعد فترة ، يوفر هذا مسار التضمين دون الحاجة إلى إنقاذ تثبيت النقطة: يمكن للمرء تعيين مسار التضمين باستخدام متغير البيئة.

بافتراض أن الرؤوس موجودة في / usr / include / gdal ، فقم بإصدار ملف

باستخدام هذا ، أحصل على "extension / gdalconst_wrap.c: 2732: 18: خطأ فادح: gdal.h: لا يوجد مثل هذا الملف أو الدليل" على الرغم من وجود gdal.h في / usr / include / gdal

هل استخدام C_INCLUDE_PATH بدلاً من / بالإضافة إلى ذلك يساعد =؟

بعد البحث عن حل يمينًا ويسارًا ، إليك شيء يناسبني على Ubuntu 14.04 ، حتى من داخل Virtualenv بدون إمكانية الوصول إلى حزم النظام:

قم بتثبيت الإصدار المقابل لمكتبات النظام (في وقت كتابة هذا التقرير ، كان Ubuntu Trusty يستخدم رؤوس 1.10):

عملت أيضًا من أجلي على ubuntu 16.04

يمكنك الآن استخدام نسخة سهلة الاستخدام من أدوات Virtualenv و setuptools من الروابط القياسية لـ GDAL python bindings pygdal.

كنت أواجه مشكلات مماثلة على جهاز Mac. هذه هي الطريقة التي قمت بحلها:

أولاً ، قمت بإعداد بيئة Python 2.7 افتراضية باستخدام virtualenv. تم تثبيت توزيع Python في دليل يسمى "env".

ثم استخدمت fink لتثبيت gdal

لقد قمت أيضًا بتثبيت gdal-dev ولكن قد لا يكون هذا مطلوبًا لأنه ربما تم تثبيته بالفعل مع gdal.

لقد تحققت من الإصدار المثبت باستخدام:

في التثبيت الخاص بي ، أنتجت النتيجة
1.11.1

تثبيت fink لـ gdal قام بتثبيت ملف الرأس cpl_port.h في / sw / include / gdal1. تحقق من التثبيت الخاص بك. ثم دخلت:

يبدو أن هذا يعمل بالنسبة لي ولكني لم أختبر التثبيت حتى الآن.

في Fedora 24 الذي يحتوي على GDAL 2.0.2 في مستودعاته ، اضطررت إلى تثبيت حزمة Python على النحو التالي:

لقد تلقيت خطأً مماثلاً أثناء محاولة تثبيت روابط python GDAL على جهاز Mac (OS 10.10.5). لقد قمت بتثبيت برنامج GDAL الأساسي من http://www.kyngchaos.com/software/frameworks باستخدام التنزيل "Complete". كان علي أن أضع ثلاثة متغيرات بيئية.

تصدير C_INCLUDE_PATH = / Library / Frameworks / GDAL.framework / Headers
تصدير CPLUS_INCLUDE_PATH = / Library / Frameworks / GDAL.framework / Headers
تصدير LIBRARY_PATH = / Library / Frameworks / GDAL.framework / Versions / Current / unix / lib

كانت القطعة الأخيرة هي إضافة /Library/Frameworks/GDAL.framework/Programs إلى مساري.

echo 'export PATH = / Library / Frameworks / GDAL.framework / Programs: $ PATH' & gt & gt

بعد ذلك تمكنت النقطة من تثبيت GDAL للبيثون. أتمنى أن يساعدك هذا.

تعمل حزم gdal 0.10.1 هذه بشكل جيد مع Ubuntu 12.04:
https://launchpad.net/

حزم gdal 0.10.1 لإصدار أوبونتو الآخر:
https://launchpad.net/

واجهت مشكلة مع gdal 1.10.1 أيضًا ، وقمت للتو بتثبيت النقطة التالية - global-option = build_ext --global-option = "- I / usr / include / gdal" gdal == 1.10.0

& # 8211 & # 160ryanjdillon
28 مايو 2016 الساعة 20:29

للإجابة على الجانب المعين من Virtualenv للسؤال:

احذر من أن pygdal قد تتطلب إصدارًا مختلفًا من GDAL ، مقارنةً بما تتطلبه حزمة GDAL من روابط python.

فيما يلي ما اعتدت الحصول عليه في الإصدارات الحديثة من Fedora (20 و 23).


UnicodeDecodeError: أثناء تثبيت gdal في بيئة افتراضية Python جديدة - أنظمة المعلومات الجغرافية

يقوم Rasterio بقراءة وكتابة البيانات النقطية الجغرافية المكانية.

تستخدم أنظمة المعلومات الجغرافية GeoTIFF وتنسيقات أخرى لتنظيم مجموعات البيانات الشبكية أو النقطية وتخزينها. يقرأ Rasterio ويكتب هذه التنسيقات ويوفر واجهة برمجة تطبيقات Python استنادًا إلى مصفوفات N-D.

يعمل Rasterio 1.2 مع إصدارات Python من 3.6 إلى 3.9 ، وإصدارات Numpy 1.15 والأحدث ، وإصدارات GDAL من 2.3 إلى 3.2. الحزم الثنائية الرسمية لنظامي Linux و Mac OS X متوفرة على PyPI. تتوفر الحزم الثنائية غير الرسمية لنظام التشغيل Windows من خلال قنوات أخرى.

اقرأ الوثائق لمزيد من التفاصيل: https://rasterio.readthedocs.io/.

فيما يلي مثال على بعض الميزات الأساسية التي يوفرها Rasterio. تتم قراءة ثلاثة نطاقات من صورة ويتم حساب متوسطها لإنتاج شيء مثل النطاق متعدد الألوان. تتم كتابة هذا النطاق الجديد بعد ذلك في نطاق واحد جديد TIFF.

يتيح Rasterio الوصول إلى خصائص ملف البيانات النقطية الجغرافية المكانية.

توفر مجموعة البيانات النقطية أيضًا طرقًا للحصول على شرائح مصفوفة ممتدة وفقًا للإحداثيات المحددة جغرافيًا.

تم توثيق واجهة سطر أوامر Rasterio ، المسماة "rio" ، في cli.rst. يفتح أمر rio insp الخاص به غطاء أي مجموعة بيانات نقطية حتى تتمكن من التنقل باستخدام Python.

يوفر Rio القدرة على إنشاء أوامر فرعية باستخدام المكونات الإضافية. راجع cli.rst لمزيد من المعلومات حول إنشاء المكونات الإضافية.

راجع سجل البرنامج المساعد للحصول على قائمة بالمكونات الإضافية المتاحة.

الرجاء تثبيت Rasterio في بيئة افتراضية حتى لا تتلاعب متطلباتها ببيثون نظامك.

تم بناء عجلات Linux في PyPI على CentOS ويتوقع libcurl أن تكون الشهادات في /etc/pki/tls/certs/ca-bundle.crt. شهادات Ubuntu ، على سبيل المثال ، موجودة في موقع مختلف. قد تحتاج إلى استخدام متغير البيئة CURL_CA_BUNDLE لتحديد موقع شهادات SSL على جهاز الكمبيوتر الخاص بك. في نظام Ubuntu ، قم بتعيين المتغير كما هو موضح أدناه.

لدى Rasterio تبعية مكتبة C: GDAL & gt = 2.3. تعتمد GDAL نفسها على بعض المكتبات الأخرى التي توفرها معظم أنظمة التشغيل الرئيسية وتعتمد أيضًا على مكتبات GEOS و PROJ4 غير القياسية. كيفية تلبية هذه المتطلبات سيتم شرحها أدناه.

تبعيات Rasterio's Python هي (انظر ملف البيانات الوصفية للحزمة):

"" Affine attrs certifi click & gt = 4.0 cligj & gt = 0.5 numpy snuggs & gt = 1.4.1 click-plugins setuptools

[الكل] فرضية pytest-cov & gt = 2.2.0 matplotlib boto3 & gt = 1.2.4 numpydoc pytest & gt = 2.8.2 ipython & gt = 2.0 sphinx Packaging ghp-import sphinx-rtd-theme

[مستندات] ghp-import numpydoc sphinx sphinx-rtd-theme

[اختبار] boto3 & gt = 1.2.4 عبوة فرضية pytest-cov & gt = 2.2.0 pytest & gt = 2.8.2 جميل "

يتطلب التطوير (انظر المتطلبات- dev.txt) Cython والحزم الأخرى.

استخدم التوزيع الثنائي الذي يوفر بشكل مباشر أو غير مباشر GDAL إن أمكن.

توزيعات Rasterio متاحة من UbuntuGIS و قناة كوندا فورج أناكوندا.

تتوفر عجلات Manylinux1 في PyPI.

التوزيعات الثنائية مع مكتبات GDAL و GEOS و PROJ4 المضمنة متاحة لإصدارات OS X 10.9+. للتثبيت ، قم بتشغيل نقطة تثبيت rasterio. هذه العجلات الثنائية مفضلة في الإصدارات الأحدث من النقطة.

إذا كنت لا تريد هذه العجلات وتريد التثبيت من توزيع مصدر ، فقم بتشغيل pip install rasterio - no-binary rasterio بدلاً من ذلك.

مكتبة GDAL المضمنة ضئيلة إلى حد ما ، حيث توفر فقط برامج تشغيل التنسيق التي يتم شحنها مع GDAL ويتم تمكينها افتراضيًا. للوصول إلى المزيد من التنسيقات ، يجب أن تبني من توزيع مصدر (انظر أدناه).

تم إنشاء العجلات الثنائية لـ Rasterio و GDAL بواسطة Christoph Gohlke وهي متوفرة من موقعه على الويب.

لتثبيت rasterio ، ما عليك سوى تنزيل كلا الثنائيين لنظامك (rasterio و GDAL) وتشغيل شيء مثل هذا من مجلد التنزيلات ، مع ضبط إصدار Python الخاص بك.

يمكنك أيضًا تثبيت rasterio مع conda باستخدام قناة Conda-Forge الخاصة بـ Anaconda.

Rasterio هو امتداد Python C ولإنشاء البرنامج ستحتاج إلى مترجم عاملة (XCode على OS X وما إلى ذلك). ستحتاج أيضًا إلى تثبيت Numpy مسبقًا على رؤوس Numpy المطلوبة لتشغيل البرنامج النصي لإعداد rasterio. يجب تثبيت Numpy (عبر ملف المتطلبات المشار إليه) قبل تثبيت rasterio. راجع تكوين Travis الخاص بـ Rasterio للحصول على مزيد من الإرشادات.

تم تكييف الأوامر التالية من تكوين Travis-CI الخاص بـ Rasterio.

قم بتكييفها حسب الضرورة لنظام Linux الخاص بك.

بالنسبة لبيئة Python القائمة على البيرة ، قم بما يلي.

يمكنك تنزيل توزيع ثنائي لـ GDAL من هنا. ستحتاج أيضًا إلى تنزيل المكتبات والعناوين المجمّعة (بما في ذلك الملفات).

عند البناء من المصدر على Windows ، من المهم معرفة أن setup.py لا يمكنه الاعتماد على gdal-config ، الموجود فقط في أنظمة UNIX ، لاكتشاف مواقع ملفات الرأس والمكتبات التي يحتاجها rasterio لتجميع امتدادات C الخاصة به. في Windows ، يجب توفير هذه المسارات من قبل المستخدم. ستحتاج إلى العثور على ملفات التضمين وملفات المكتبة لـ gdal واستخدام setup.py على النحو التالي. ستحتاج أيضًا إلى تحديد إصدار gdal المثبت من خلال متغير البيئة GDAL_VERSION.

ملاحظة: - no-use-pep517 مطلوب نظرًا لأن النقطة لم تنفذ حاليًا طريقة لتمرير الوسيطات الاختيارية إلى الواجهة الخلفية للبناء عند استخدام PEP 517. انظر هنا لمزيد من التفاصيل.

بدلاً من ذلك ، يمكن استخدام متغيرات البيئة (مثل INCLUDE و LINK) التي يستخدمها برنامج التحويل البرمجي MSVC للإشارة إلى تضمين الدلائل وملفات المكتبة.

لقد نجحنا في ترجمة التعليمات البرمجية باستخدام نفس إصدار Microsoft Visual Studio المستخدم في تجميع الإصدار المستهدف من Python (مزيد من المعلومات حول الإصدارات المستخدمة هنا.).

ملاحظة: يجب أن يكون دليل GDAL DLL و gdal-data في Windows PATH وإلا ستفشل rasterio في العمل.

المنتدى الأساسي للأسئلة حول تثبيت واستخدام Rasterio هو https://rasterio.groups.io/g/main. سيقوم المؤلفون والمستخدمون الآخرون بالإجابة على الأسئلة عندما يكون لديهم خبرة للمشاركة ووقت للشرح. يرجى أخذ الوقت الكافي لصياغة سؤال واضح والتحلي بالصبر بشأن الردود.

يرجى عدم إحضار هذه الأسئلة إلى أداة تعقب المشكلات في Rasterio ، والتي نريد حجزها لتقارير الأخطاء والمشكلات الأخرى القابلة للتنفيذ.


UnicodeDecodeError: أثناء تثبيت gdal في بيئة افتراضية Python جديدة - أنظمة المعلومات الجغرافية

يقوم Rasterio بقراءة وكتابة البيانات النقطية الجغرافية المكانية.

تستخدم أنظمة المعلومات الجغرافية GeoTIFF وتنسيقات أخرى لتنظيم مجموعات البيانات الشبكية أو النقطية وتخزينها. يقرأ Rasterio ويكتب هذه التنسيقات ويوفر واجهة برمجة تطبيقات Python استنادًا إلى مصفوفات N-D.

يعمل Rasterio 1.2 مع إصدارات Python من 3.6 إلى 3.9 ، وإصدارات Numpy 1.15 والأحدث ، وإصدارات GDAL من 2.3 إلى 3.2. الحزم الثنائية الرسمية لنظامي Linux و Mac OS X متوفرة على PyPI. تتوفر الحزم الثنائية غير الرسمية لنظام التشغيل Windows من خلال قنوات أخرى.

اقرأ الوثائق لمزيد من التفاصيل: https://rasterio.readthedocs.io/.

فيما يلي مثال على بعض الميزات الأساسية التي يوفرها Rasterio. تتم قراءة ثلاثة نطاقات من صورة ويتم حساب متوسطها لإنتاج شيء مثل النطاق متعدد الألوان. تتم كتابة هذا النطاق الجديد بعد ذلك في نطاق واحد جديد TIFF.

يتيح Rasterio الوصول إلى خصائص ملف البيانات النقطية الجغرافية المكانية.

توفر مجموعة البيانات النقطية أيضًا طرقًا للحصول على شرائح مصفوفة ممتدة وفقًا للإحداثيات المحددة جغرافيًا.

تم توثيق واجهة سطر أوامر Rasterio ، المسماة "rio" ، في cli.rst. يفتح أمر rio insp الخاص به غطاء أي مجموعة بيانات نقطية حتى تتمكن من التنقل باستخدام Python.

يوفر Rio القدرة على إنشاء أوامر فرعية باستخدام المكونات الإضافية. راجع cli.rst لمزيد من المعلومات حول إنشاء المكونات الإضافية.

راجع سجل البرنامج المساعد للحصول على قائمة بالمكونات الإضافية المتاحة.

الرجاء تثبيت Rasterio في بيئة افتراضية حتى لا تتلاعب متطلباتها ببيثون نظامك.

تم بناء عجلات Linux في PyPI على CentOS ويتوقع libcurl أن تكون الشهادات في /etc/pki/tls/certs/ca-bundle.crt. شهادات Ubuntu ، على سبيل المثال ، موجودة في موقع مختلف. قد تحتاج إلى استخدام متغير البيئة CURL_CA_BUNDLE لتحديد موقع شهادات SSL على جهاز الكمبيوتر الخاص بك. في نظام Ubuntu ، قم بتعيين المتغير كما هو موضح أدناه.

لدى Rasterio تبعية مكتبة C: GDAL & gt = 2.3. تعتمد GDAL نفسها على بعض المكتبات الأخرى التي توفرها معظم أنظمة التشغيل الرئيسية وتعتمد أيضًا على مكتبات GEOS و PROJ4 غير القياسية. كيفية تلبية هذه المتطلبات سيتم شرحها أدناه.

يتم سرد تبعيات Rasterio's Python في ملف requirements.txt الخاص بها.

يتطلب التطوير أيضًا (راجع المتطلبات- dev.txt) Cython والحزم الأخرى.

استخدم التوزيعات الثنائية التي توفر GDAL بشكل مباشر أو غير مباشر إن أمكن.

توزيعات Rasterio متاحة من UbuntuGIS و قناة كوندا فورج أناكوندا.

تتوفر عجلات Manylinux1 في PyPI.

التوزيعات الثنائية مع مكتبات GDAL و GEOS و PROJ4 المضمنة متوفرة لإصدارات OS X 10.9+. للتثبيت ، قم بتشغيل نقطة تثبيت rasterio. هذه العجلات الثنائية مفضلة في الإصدارات الأحدث من النقطة.

إذا كنت لا تريد هذه العجلات وتريد التثبيت من توزيع مصدر ، فقم بتشغيل pip install rasterio - no-binary rasterio بدلاً من ذلك.

مكتبة GDAL المضمنة ضئيلة إلى حد ما ، حيث توفر فقط برامج تشغيل التنسيق التي يتم شحنها مع GDAL ويتم تمكينها افتراضيًا. للوصول إلى المزيد من التنسيقات ، يجب أن تبني من توزيع مصدر (انظر أدناه).

تم إنشاء العجلات الثنائية لـ Rasterio و GDAL بواسطة Christoph Gohlke وهي متوفرة من موقعه على الويب.

لتثبيت rasterio ، ما عليك سوى تنزيل كلا الثنائيين لنظامك (rasterio و GDAL) وتشغيل شيء مثل هذا من مجلد التنزيلات ، مع ضبط إصدار Python الخاص بك.

يمكنك أيضًا تثبيت rasterio مع conda باستخدام قناة Conda-Forge الخاصة بـ Anaconda.

Rasterio هو امتداد Python C ولإنشاء البرنامج ستحتاج إلى مترجم عامل (XCode على OS X وما إلى ذلك). ستحتاج أيضًا إلى تثبيت Numpy مسبقًا على رؤوس Numpy المطلوبة لتشغيل البرنامج النصي لإعداد rasterio. يجب تثبيت Numpy (عبر ملف المتطلبات المشار إليه) قبل تثبيت rasterio. راجع تكوين Travis الخاص بـ Rasterio للحصول على مزيد من الإرشادات.

تم تكييف الأوامر التالية من تكوين Travis-CI الخاص بـ Rasterio.

قم بتكييفها حسب الضرورة لنظام Linux الخاص بك.

بالنسبة لبيئة Python القائمة على البيرة ، قم بما يلي.

يمكنك تنزيل توزيع ثنائي لـ GDAL من هنا. ستحتاج أيضًا إلى تنزيل المكتبات والعناوين المجمّعة (بما في ذلك الملفات).

عند البناء من المصدر على Windows ، من المهم معرفة أن setup.py لا يمكنه الاعتماد على gdal-config ، الموجود فقط في أنظمة UNIX ، لاكتشاف مواقع ملفات الرأس والمكتبات التي يحتاجها rasterio لتجميع امتدادات C الخاصة به. في Windows ، يجب توفير هذه المسارات من قبل المستخدم. ستحتاج إلى العثور على ملفات التضمين وملفات المكتبة لـ gdal واستخدام setup.py على النحو التالي. ستحتاج أيضًا إلى تحديد إصدار gdal المثبت من خلال متغير البيئة GDAL_VERSION.

ملاحظة: - no-use-pep517 مطلوب نظرًا لأن النقطة لم تنفذ حاليًا طريقة لتمرير الوسيطات الاختيارية إلى الواجهة الخلفية للبناء عند استخدام PEP 517. انظر هنا لمزيد من التفاصيل.

بدلاً من ذلك ، يمكن استخدام متغيرات البيئة (مثل INCLUDE و LINK) التي يستخدمها برنامج التحويل البرمجي MSVC للإشارة إلى تضمين الدلائل وملفات المكتبة.

لقد نجحنا في ترجمة التعليمات البرمجية باستخدام نفس إصدار Microsoft Visual Studio المستخدم في تجميع الإصدار المستهدف من Python (مزيد من المعلومات حول الإصدارات المستخدمة هنا.).

ملاحظة: يجب أن يكون دليل GDAL DLL و gdal-data في Windows PATH وإلا ستفشل rasterio في العمل.

المنتدى الأساسي للأسئلة حول تثبيت واستخدام Rasterio هو https://rasterio.groups.io/g/main. سيقوم المؤلفون والمستخدمون الآخرون بالإجابة على الأسئلة عندما يكون لديهم خبرة للمشاركة ووقت للشرح. يرجى أخذ الوقت الكافي لصياغة سؤال واضح والتحلي بالصبر بشأن الردود.

يرجى عدم إحضار هذه الأسئلة إلى أداة تعقب المشكلات في Rasterio ، والتي نريد حجزها لتقارير الأخطاء والمشكلات الأخرى القابلة للتنفيذ.


Geoai-rasterio الإصدار 1.2.4

تستخدم أنظمة المعلومات الجغرافية GeoTIFF وتنسيقات أخرى لتنظيم مجموعات البيانات الشبكية أو النقطية وتخزينها. يقرأ Rasterio ويكتب هذه التنسيقات ويوفر واجهة برمجة تطبيقات Python استنادًا إلى مصفوفات N-D.

يعمل Rasterio 1.2 مع إصدارات Python من 3.6 إلى 3.9 ، وإصدارات Numpy 1.15 والأحدث ، وإصدارات GDAL من 2.3 إلى 3.2. الحزم الثنائية الرسمية لنظامي Linux و Mac OS X متوفرة على PyPI. تتوفر الحزم الثنائية غير الرسمية لنظام التشغيل Windows من خلال قنوات أخرى.

اقرأ الوثائق لمزيد من التفاصيل: https://rasterio.readthedocs.io/.

فيما يلي مثال على بعض الميزات الأساسية التي يوفرها Rasterio. تتم قراءة ثلاثة نطاقات من صورة ويتم حساب متوسطها لإنتاج شيء مثل النطاق متعدد الألوان. تتم كتابة هذا النطاق الجديد بعد ذلك في نطاق واحد جديد TIFF.

يتيح Rasterio الوصول إلى خصائص ملف البيانات النقطية الجغرافية المكانية.

توفر مجموعة البيانات النقطية أيضًا طرقًا للحصول على شرائح مصفوفة ممتدة وفقًا للإحداثيات المحددة جغرافيًا.

تم توثيق واجهة سطر أوامر Rasterio ، المسماة "rio" ، في cli.rst. يفتح أمر rio insp الخاص به غطاء أي مجموعة بيانات نقطية حتى تتمكن من التنقل باستخدام Python.

يوفر Rio القدرة على إنشاء أوامر فرعية باستخدام المكونات الإضافية. راجع cli.rst لمزيد من المعلومات حول إنشاء المكونات الإضافية.

راجع سجل البرنامج المساعد للحصول على قائمة بالمكونات الإضافية المتاحة.

الرجاء تثبيت Rasterio في بيئة افتراضية حتى لا تتلاعب متطلباتها ببيثون نظامك.

تم بناء عجلات Linux في PyPI على CentOS ويتوقع libcurl أن تكون الشهادات في /etc/pki/tls/certs/ca-bundle.crt. شهادات Ubuntu ، على سبيل المثال ، موجودة في موقع مختلف. قد تحتاج إلى استخدام متغير البيئة CURL_CA_BUNDLE لتحديد موقع شهادات SSL على جهاز الكمبيوتر الخاص بك. في نظام Ubuntu ، قم بتعيين المتغير كما هو موضح أدناه.

لدى Rasterio تبعية مكتبة C: GDAL & gt = 2.3. تعتمد GDAL نفسها على بعض المكتبات الأخرى التي توفرها معظم أنظمة التشغيل الرئيسية وتعتمد أيضًا على مكتبات GEOS و PROJ4 غير القياسية. كيفية تلبية هذه المتطلبات سيتم شرحها أدناه.

يتم سرد تبعيات Rasterio's Python في ملف requirements.txt الخاص بها.

يتطلب التطوير أيضًا (راجع المتطلبات- dev.txt) Cython والحزم الأخرى.

استخدم التوزيعات الثنائية التي توفر GDAL بشكل مباشر أو غير مباشر إن أمكن.

توزيعات Rasterio متاحة من UbuntuGIS و قناة كوندا فورج أناكوندا.

تتوفر عجلات Manylinux1 في PyPI.

التوزيعات الثنائية مع مكتبات GDAL و GEOS و PROJ4 المضمنة متوفرة لإصدارات OS X 10.9+. للتثبيت ، قم بتشغيل نقطة تثبيت rasterio. هذه العجلات الثنائية مفضلة في الإصدارات الأحدث من النقطة.

If you don't want these wheels and want to install from a source distribution, run pip install rasterio --no-binary rasterio instead.

The included GDAL library is fairly minimal, providing only the format drivers that ship with GDAL and are enabled by default. To get access to more formats, you must build from a source distribution (see below).

Binary wheels for rasterio and GDAL are created by Christoph Gohlke and are available from his website.

To install rasterio, simply download both binaries for your system (rasterio and GDAL) and run something like this from the downloads folder, adjusting for your Python version.

You can also install rasterio with conda using Anaconda's conda-forge channel.

Rasterio is a Python C extension and to build you'll need a working compiler (XCode on OS X etc). You'll also need Numpy preinstalled the Numpy headers are required to run the rasterio setup script. Numpy has to be installed (via the indicated requirements file) before rasterio can be installed. See rasterio's Travis configuration for more guidance.

The following commands are adapted from Rasterio's Travis-CI configuration.

Adapt them as necessary for your Linux system.

For a Homebrew based Python environment, do the following.

You can download a binary distribution of GDAL from here. You will also need to download the compiled libraries and headers (include files).

When building from source on Windows, it is important to know that setup.py cannot rely on gdal-config, which is only present on UNIX systems, to discover the locations of header files and libraries that rasterio needs to compile its C extensions. On Windows, these paths need to be provided by the user. You will need to find the include files and the library files for gdal and use setup.py as follows. You will also need to specify the installed gdal version through the GDAL_VERSION environment variable.

Note: --no-use-pep517 is required as pip currently hasn't implemented a way for optional arguments to be passed to the build backend when using PEP 517. See here for more details.

Alternatively environment variables (e.g. INCLUDE and LINK) used by MSVC compiler can be used to point to include directories and library files.

We have had success compiling code using the same version of Microsoft's Visual Studio used to compile the targeted version of Python (more info on versions used here.).

Note: The GDAL DLL and gdal-data directory need to be in your Windows PATH otherwise rasterio will fail to work.

The primary forum for questions about installation and usage of Rasterio is https://rasterio.groups.io/g/main. The authors and other users will answer questions when they have expertise to share and time to explain. Please take the time to craft a clear question and be patient about responses.

Please do not bring these questions to Rasterio's issue tracker, which we want to reserve for bug reports and other actionable issues.