Більше

(Як) я можу записати рядкові дані в растр за допомогою Python/GDAL?

(Як) я можу записати рядкові дані в растр за допомогою Python/GDAL?


У Python у мене є масив рядкових значень NumPy (категорії деяких змінних), які я хотів би записати до растрового файлу (.tif або .img) за допомогою GDAL.

У мене складається враження, що неможливо записати рядове значення в клітинку сітки растрового файлу, тобто мені потрібно буде створити цілочисельну таблицю пошуку і замість цього записати цілі числа в клітинки сітки. Тоді мені потрібно буде записати символьні дані у стовпець таблиці атрибутів растру, щоб ви могли знати, які рядкові значення представляють цілі числа.

Чи правильні мої міркування? Якщо так, я хотів би знати основний процес побудови таблиці атрибутів растру за допомогою Python, GDAL. Раніше я не мав особливого успіху, і, як я розумію, не всі формати растру GDAL взагалі можуть мати таблиці атрибутів.


Таблиця растрових атрибутів (RAT) - це найкращий спосіб пов'язати рядок зі значеннями пікселів. Формати з найкращою підтримкою RAT, з яких я знаю, - це ERDAS Imagine (HFA) та KEA (KEA; http://kealib.org/).

Кроки, які я б використав, такі:

  1. Напишіть растр з цілими значеннями (ви можете використовувати GDAL для запису масиву NumPy).
  2. Додайте RAT, що містить значення кожного пікселя (для цього можна використовувати модуль растрової ГІС у RSGISLib; http://rsgislib.org/rsgislib_rastergis.html)
  3. Додайте новий стовпець із рядком, пов'язаним із кожним значенням пікселя (для цього можна використовувати RIOS; https://bitbucket.org/chchrsc/rios/).

Я написав сценарій, щоб виконати кроки 2 та 3, його потрібно трішки довго публікувати, тому я завантажив його на https://bitbucket.org/snippets/danclewley/geaX/add-class-name-to-rat


Набір даних (представлений класом GDALDataset) - це збірка пов'язаних растрових смуг і деяка загальна для них інформація. Зокрема, набір даних має концепцію розміру растру (у пікселях та лініях), яка застосовується до всіх діапазонів. Набір даних також відповідає за трансформацію геореференції та визначення системи координат усіх діапазонів. Сам набір даних також може мати пов'язані метадані, список пар імен/значень у вигляді рядка.

Зауважте, що набір даних GDAL та модель даних растрового діапазону вільно базуються на специфікації OpenGIS Grid Coverage.


Перемикач -utsize може бути використаний для встановлення розміру вихідного файлу.

Перевірте розмір за допомогою gdalinfo.

Перемикач -scale можна використовувати для масштабування даних. Доступний також явний контроль над вхідними та вихідними діапазонами. Перемикач gdalinfo -mm можна використовувати для перегляду мінімальних/максимальних значень пікселів.

Давайте розділимо наше зображення на два за допомогою -srcwin, який робить копію на основі розташування пікселів/рядків (xoff yoff xsize ysize). Ви також можете використати -projwin і визначити кути в геоприв’язаних координатах (ulx uly lrx lry).


Растрова гра життя з використанням Python у QGIS

Чудовим способом продемонструвати маніпулювання геопросторовими растровими даними є Гра життя Конвея [1]. Гра “ гра ” починається з сітки (“board ”) двійкових комірок, які представляють або живі (заселені), або мертві (порожні) стани. Кожна клітина взаємодіє з вісьмома сусідніми сусідами, щоб визначити свій наступний стан. На кожній ітерації ігрового годинника застосовуються такі правила [1]:

  • Жива клітина, у якій менше двох або більше трьох живих сусідів, гине (недонаселення, переповненість).
  • Жива камера з двома -трьома живими сусідами продовжує жити.
  • Мертва клітина з трьома живими сусідами стає живою (відтворення).

Безкоштовний програмний пакет із географічною інформаційною системою з відкритим вихідним кодом (GIS) QGIS [2] пропонує підтримку сценаріїв за допомогою мови програмування Python (модуль pyQGIS), що дозволяє використовувати потужні бібліотеки, такі як NumPy та GDAL, для роботи з растровими даними. Числовий Python (NumPy) [3]-це пакет, розроблений для Python, призначений для наукових обчислень з підтримкою багатовимірних масивів та матриць. Бібліотека абстракції геопросторових даних (GDAL) [4] - це бібліотека для перекладу растрових та векторних форматів геопросторових даних, доступних як прив’язка для Python.

За допомогою NumPy, GDAL та pyQGIS ми реалізували гру життя, де NumPy маніпулює масивами, GDAL обробляє читання та запис растрових даних, а pyQGIS візуалізує растри та їх відносні зміни. Вихідний код був написаний студентом магістра просторового аналізу Річардом Вен за допомогою доктора Клауса Ріннера і доступний за адресою https://github.com/rwenite/QGIS_RasterArray. Проект був натхненний візитом Аніти Грейзер у Лабораторію георахунків Райерсона та №8217 у жовтні 2014 року, під час якого Аніта розробила векторну версію «Гра життя» у QGIS (див. Http://anitagraser.com/2014/11 /16/більше-експериментів-з-грою життя/).

Наша реалізація використовує об'єктно-орієнтований підхід, коли об'єкт класу "Гра життя" створюється екземпляром, а ігрова дошка оновлюється за допомогою методу cycle () за допомогою консолі QGIS python. Основною функцією є маніпулювання окремими растровими клітинами на основі кодованого алгоритму - в даному випадку правил, визначених Граю життя.

Почнемо з ініціалізації та циклічності ігрової дошки з використанням параметрів за замовчуванням:

Ігрова дошка може бути ініціалізована випадковим растром, заповненим растром, користувацьким растром або з заздалегідь визначеного растрового файлу:

Джерело дати: відкриті дані міста Торонто [5]

Деякі інші цікаві особливості включають зміну швидкості анімації, цикли стрибків та застосування індивідуальних стилів шарів:

Ця публікація присвячена функціональності програми, а її внутрішню роботу можна зрозуміти з коментарів у вихідному коді Python, розміщеному на https://github.com/rwenite/QGIS_RasterArray. Код був написаний і протестований для QGIS 2.6. Відгуки з будь -яких питань вітаються. Використання масиву NumPy для ітерації по осередках сітки було знайдено у відповіді користувача “gene ” на GIS StackExchange [6]. Читання та обробка растрових даних має свої проблеми. При роботі з великими сітками доцільно читати растрові дані блоками, а не в цілому, оскільки може не вистачити оперативної пам’яті для зберігання всього файлу одночасно [7].

Метою реалізації "Ігри життя" з Python та QGIS є демонстрація деяких фундаментальних концепцій аналізу растрових даних та моделювання стільникових автоматів, які мають важливе застосування у географії та ГІС. Існуючі функціональні можливості QGIS та сценарії для обробки растров, здається, більше зосереджені на низькорівневих операціях введення/виведення, ніж на функціях аналізу на більш високому рівні. Наприклад, ми не знайшли розширених локальних і фокусних растрових операцій у растровому калькуляторі QGIS ’. Таким чином, ми передбачаємо, що код RasterArray може служити основою для розширення растрового аналізу в QGIS. Код також буде використовуватися в лабораторних завданнях, які ще не будуть написані, у GEO641 “GIS та підтримці прийняття рішень ” у BA Ryerson & B 8217s у програмі географічного аналізу.


Програмне забезпечення, що використовує GDAL¶

actinia Хмарна платформа геообробки від mundialis.

Біорізноманіття Інструмент просторового аналізу різноманітності. Використовує GDAL для імпорту/експорту даних.

Мульти-карта Bluemapia (Google, Microsoft, Відкрита карта вулиць, діаграми NOAA/BSB, самокалібрований растр) Додаток GPS на основі геоданих для Windows Mobile.

BRL-CAD Суцільна моделююча система автоматизованого проектування з відкритим вихідним кодом.

Cadcorp SIS: ГІС Windows з плагінами GDAL та OGR.

CARTO Хмарна картографічна платформа для аналізу та візуалізації геопросторових даних.

CatchmentSIM Модель аналізу місцевості Windows для гідрологічних застосувань.

Daylon Leveler Моделіст рельєфу місцевості/поля висоти/нерівності

Demeter Інший двигун на основі OpenGL, дещо схожий на VTP.

Eonfusion Аналіз та візуалізація змінних у часі наборів просторових даних, інтегрованих за допомогою справжнього злиття даних.

EOxServer OGC-сумісний сервер для даних спостереження Землі (EO), що підтримує WMS і WCS з профілями додатків EO.

ERDAS ER Viewer Переглядач зображень для дуже великих файлів JPEG 2000 та ECW.

Eternix Blaze Розширена програма геопросторової візуалізації та SDK.

exactextract Швидка і точна растрова/векторна зональна статистика.

ГІС-платформа на базі Windows FalconView з корінням у плануванні військових місій, тепер доступна як безкоштовний пакет візуалізації та аналізу ГІС.

Об'єкти даних функцій (FDO) Бібліотеки доступу до просторових даних з відкритим кодом.

Fiona Fiona - це більш акуратний API OGR - гладкий та елегантний зовні, незламна сила всередині.

flighttrack GPS для перегляду та завантаження програмного забезпечення для Mac.

FME Пакет перекладачів ГІС містить плагін GDAL.

Програма GdalToTiles C# (з відкритим вихідним кодом) для створення плиток зображень для Google Планета Земля за допомогою накладеного файлу KML.

Програмне забезпечення GenGIS для геопросторового аналізу генетичних даних.

Плагін ГІС для обробки географічних зображень DEM / повітряних / супутникових зображень для Adobe Photoshop від компанії Avenza Systems.

GeoDa Вступ до аналізу просторових даних (просторова автокореляція та просторова регресія)

GeoDjango Фреймворк для створення географічних веб -додатків.

GeoDMS Рамка для побудови моделей просторових розрахунків.

GeoKettle Просторовий інструмент ETL (витяг, трансформація та завантаження) з відкритим вихідним кодом.

GeoNotebook - розширення для блокнота Jupyter для геопросторової візуалізації та аналізу.

GeoServer - це програмний сервер з відкритим кодом, написаний на Java, що дозволяє користувачам обмінюватися та редагувати геопросторові дані.

Мобільний додаток для картографування GeoView Pro IOS.

Geoweb3d 3D-віртуальний глобус, що забезпечує «на льоту» та якісну ігрову візуалізацію даних ГІС.

GMT (Generic Mapping Tools) - це відкрита колекція інструментів для обробки та відображення наборів даних xy та xyz.

GPSeismic Набір додатків для сейсморозвідки.

GRASS GIS Растрова/векторна ГІС з відкритим кодом, яка використовує GDAL для імпорту та експорту растрових/векторних зображень (через r.in.gdal/r.out.gdal)

gstat - пакет геостатистичного моделювання.

GuidosToolbox Багатофункціональна настільна програма для загального аналізу об'єктів зображення.

HydroDaVE Explorer-веб-клієнт, який надає користувачам просту у використанні, безпечну та надійну платформу управління даними для ефективного управління, доступу та аналізу екологічних даних.

IDRISI A ГІС та обробка зображень Настільна програма Windows. Використовує GDAL для імпорту/експорту/деформації растрових даних.

Пакет дистанційного зондування ILWIS та настільного комп’ютера ГІС.

Image I/O-Ext включає gdalframework, фреймворк, що використовує GDAL за допомогою згенерованих прив'язок JAVA SWIG для забезпечення підтримки широкого набору форматів даних.

Інфраструктурне програмне забезпечення BIM для проектування інфраструктурних проектів, що є частиною набору Autodesk.

Платформа інтеграції та публікації веб -даних iShare від Astun Technology.

libLAS Open Source LAS 1.0/1.1 Набір інструментів перекладу даних ASPRS LiDAR

Завантажувач Простий завантажувач для географічних даних у GML та KML, який потребує певної підготовки перед завантаженням через ogr2ogr.

Makai Voyager Передова 3D/4D геопросторова візуалізаційна платформа.

MapGuide Сервер веб -зіставлення з відкритим кодом.

MapInfo Professional Desktop GIS та додаток для картографування

MapServer Популярний веб -додаток для відображення з підтримкою GDAL.

MapTiler Генератор плиток для інтерактивних карт та накладок, зроблених з растрових зображень та геоданих.

Настільна ГІС програмного забезпечення для відображення мапи та додаток для картографування бізнесу

Управління ActiveX з відкритим вихідним кодом MapWindow з функціональністю ГІС.

Розширене програмне забезпечення MicroImages TNT для геопросторового аналізу (Windows, Linux, Mac OS X і UNIX)

Micromine Програмне рішення для майнінгу, яке використовує GDAL для читання/запису різних форматів геопросторових файлів.

Пакет Mirone Matlab для геопросторового, океанографічного та геофізичного аналізу сіток

Конвертер Mygeodata Online Інтернет -конвертер растрових і векторних форматів GDAL

Стереоконвеєрна програма NASA Ames для створення моделей рельєфу та орто -зображень із стереофонічних зображень.

Бібліотека віртуальних глобусів NASA WorldWind для швидкого та легкого створення інтерактивної візуалізації 3D -глобусів, карти та географічної інформації.

Настільний додаток NextGIS Formbuilder для створення та редагування форм.

WebGIS на стороні веб-сервера NextGIS та фреймворк для зберігання, візуалізації та управління дозволами всіх видів

Графічний інтерфейс користувача Ogr2 для ogr2ogr

Орієнтація та обробка даних повітряного лазерного сканування OPALS

OpenCPN Стислий ChartPlotter/Навігатор. Міжплатформенний додаток графічного інтерфейсу на кораблі.

OpenEV Графічний переглядач на основі OpenGL/GTK/Python, який використовує виключно GDAL для растрового доступу.

OFGT - це колекція комунальних послуг для багатоцільового моніторингу лісів у рамках ініціативи Open Foris Open Foris Initiative.

OpenFLUID - програмна платформа для просторового моделювання динаміки ландшафтів

Движок 3D -рендерингу OpenSceneGraph з плагінами osgdem та osgEarth.

Вибирає програму дистанційного зондування з відкритим кодом та фреймворк розробки з плагіном GDAL.

Orfeo Toolbox (OTB) - це загальна бібліотека обробки зображень дистанційного зондування.

OSSIM Ще одне геопросторове середовище перегляду та аналізу, яке використовує GDAL як один із кількох плагінів.

Бібліотека абстракції даних хмари точок PDAL

інструменти з відкритим кодом pktools (GPLv3), написані на C ++ для обробки зображень з дистанційного зондування

PNMapcalc Калькулятор растрової карти з C-подібною мовою сценаріїв.

Розширювач просторових баз даних PostGIS для PostgreSQL: завантажувач растрів та багато функцій растрового SQL покладаються на GDAL.

Пакет обробки сторонніх даних PostgreSQL OGR Розкрийте шар OGR як сторонні таблиці PostgreSQL.

Система інспекції землеволодіння Procura, розроблена для Агентства будинків та громад Великобританії. GDAL використовується для перевірки відображення фону.

PYXIS Додаток для перегляду аналізу та моделювання геоданих даних користувача.

QGIS Крос -платформна настільна ГІС.

QLandkarte GT GT - це найкращий інструмент любителів відкритого походження для GPS -карт у форматі GeoTiff, а також у форматі векторної карти img Garmin.

R Безкоштовне програмне середовище для статистичних обчислень та графіки з прив’язками до GDAL через пакет rgdal.

Rasterix Крос -платформна утиліта з відкритим кодом для обробки растрових даних на основі Qt та GDAL.

SAGA GIS Безкоштовна геоінформаційна система (ГІС) зі спеціальним "Інтерфейсом програмування додатків" (API) для обробки географічних даних.

Додаток ScanMagic Win32 для візуалізації, аналізу та обробки даних дистанційного зондування.

Масштабована алгоритміка (SCALGO) Програмне забезпечення для ефективної побудови та виконання обчислень на дуже великих растрових та TIN -моделях місцевості.

Програмне забезпечення Scenomics для створення баз даних рельєфу використовує GDAL для прогнозування та імпорту/експорту даних.

scenProc scenProc: Інструмент для створення декорацій для Microsoft Flight Simulator та Lockheed Martin Prepar3D шляхом обробки G

SeaView 3D -пакет ГІС для геофізичних та гідрографічних даних (сонар для бічного сканування, профайлер під днищем, магнітометр, багатопромінь тощо).

SkylineGlobe Набір інтерактивних програм Skyline дозволяє створювати, переглядати, запитувати та аналізувати індивідуальні, віртуальні 3D -пейзажі.

Платформа застосування SNAP Sentinel для обробки та аналізу спостережень за Землею.

Програма 3D -візуалізації SpacEyes3D для картографічних даних.

Spatial Manager Пакет продуктів, призначений для управління просторовими даними простим, швидким та недорогим способом. Використовує GDAL для імпорту/експорту даних.

Двигун Carmenta (раніше відомий як SpatialAce): середовище швидкої розробки програм ГІС

TacitView Пакет візуалізації та використання зображень для військової розвідки.

Додаток TapikGIS Desktop GIS для картографування та редагування даних.

Технології TerraGo Формат файлу GeoPDF використовується для розповсюдження та співпраці геопросторових даних та використовує GDAL для імпорту/експорту даних.

t-rex Векторний сервер плитки написаний іржею.

Інтерактивне програмне забезпечення 3D-ГІС в режимі реального часу TerrainView.

Thuban Мультиплатформенний інтерактивний переглядач географічних даних.

Програмне забезпечення для аналізу транспорту настільних комп'ютерів TransCAD

TravTime .NET Додаток для візуалізації, обробки та аналізу даних GPS щодо часу подорожі, швидкості та де

VectorWorks Лінія програмних продуктів Vectorworks пропонує професійні дизайнерські рішення в AEC, індустрії розваг та ландшафтного дизайну.

Проект Vertual Terrain Project підтримує інструменти для легкого побудови реального світу в інтерактивній 3D -цифровій формі.


Навчальний посібник з обробки растру

Практичний посібник з обробки та підготовки растрових даних для візуалізації або подальшого аналізу. Вправи включатимуть:

  • Вивчення даних зображення
  • Формат перекладу
  • Оптимізація даних для MapServer/MapGuide?/Тощо
  • Масштабування
  • Мозаїкація
  • Повторне проектування
  • Використання віртуальних файлів.

Більшість вправ буде виконуватися за допомогою службових програм командного рядка GDAL, а остання вправа демонструватиме сценарії Python для спеціалізованої обробки. Передбачається, що майстер -клас стане в нагоді всім, хто потребує підготовки растрових даних для використання в таких пакетах, як MapServer, MapGuide, QGIS, GRASS, OSSIM або власних ГІС та додатках для створення зображень.


Об'єкти системи координат¶

SpatialReference ¶

Просторові опорні об'єкти ініціалізуються на заданому srs_input, що може бути одним із таких:

  • Добре відомий текст OGC (WKT) (рядок)
  • Код EPSG (ціле число або рядок)
  • Рядок PROJ
  • Стенограма для відомих стандартів ('WGS84', 'WGS72', 'NAD27', 'NAD83')

Повертає значення даного вузла атрибута рядка, None, якщо вузол не існує. Також можна взяти кортеж як параметр (target, child), де child є індексом атрибута у WKT. Наприклад:

Значення атрибута для даного цільового вузла (наприклад, 'PROJCS'). Ключове слово index визначає індекс дочірнього вузла для повернення.

Повертає ім'я повноваження для даного вузла цільового рядка.

Повертає код повноваження для даного вузла цільового рядка.

Повертає клон цього просторового опорного об'єкта.

Цей метод перевіряє WKT цього SpatialReference і додає вузли авторизації EPSG, де застосовується ідентифікатор EPSG.

Перетворює цей SpatialReference з формату ESRI на EPSG

Перетворює цей SpatialReference у формат ESRI.

Перевіряє, чи дійсне дане просторове посилання, якщо не буде виняток.

Імпорт просторового посилання з коду EPSG.

Імпорт просторового посилання з рядка PROJ.

import_user_input (user_input) ¶ import_wkt (wkt

Імпорт просторових посилань з WKT.

Імпорт просторового посилання з XML.

Повертає назву цього просторового посилання.

Повертає SRID повноважень верхнього рівня або None, якщо він не визначений.

Повертає назву лінійних одиниць.

Повертає значення лінійних одиниць.

Повертає назву одиниць кута ».

Повертає значення одиниць кута.

Повертає 2 кортежі значення одиниць та назви одиниць і автоматично визначає, повертати лінійні чи кутові одиниці.

Повертає кортеж параметрів еліпсоїда для цього просторового відліку: (велика вісь, напівнезначна вісь та обернене сплющення).

Повертає велику піввісь еліпсоїда для цього просторового відліку.

Повертає малу вісь еліпсоїда для цього просторового відліку.

Повертає обернене сплощення еліпсоїда для цієї просторової посилання.

Повертає True, якщо ця просторова посилання є географічною (кореневий вузол - GEOGCS).

Повертає True, якщо ця просторова посилання є локальною (кореневий вузол - LOCAL_CS).

Повертає True, якщо ця просторова посилання є проектованою системою координат (кореневий вузол - PROJCS).

Повертає представлення WKT цього просторового посилання.

Повертає «гарне» зображення WKT.

Повертає представлення PROJ для цього просторового посилання.

Повертає представлення XML цього просторового посилання.

CoordTransform ¶

Являє собою перетворення системи координат. Він ініціалізується двома SpatialReference, що представляють вихідну та цільову системи координат відповідно. Ці об'єкти слід використовувати при повторному виконанні одного і того ж перетворення координат на різних геометріях:


Будь ласка, встановіть Rasterio у віртуальне середовище, щоб його вимоги не порушували Python вашої системи.

Сертифікати SSL

Колеса 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. Нижче буде пояснено, як виконати ці вимоги.

Залежності Python від Rasterio перераховані у файлі requirements.txt.

Розробка також вимагає (див. Requirements-dev.txt) Cython та інші пакети.

Бінарні розподіли

Використовуйте бінарні дистрибутиви, які прямо або побічно забезпечують GDAL, якщо це можливо.

Linux

Дистрибутиви Rasterio доступні з UbuntuGIS та каналу conda-forge Anaconda.

Багато коліс linux1 доступні на PyPI.

Бінарні дистрибутиви з включеними бібліотеками GDAL, GEOS та PROJ4 доступні для версій OS X 10.9+. Щоб встановити, запустіть pip install rasterio. Ці двійкові колеса віддають перевагу новіші версії pip.

Якщо ви не хочете цих коліс і хочете встановити їх з вихідного дистрибутива, запустіть pip install rasterio --no-binary rasterio замість цього.

Включена бібліотека GDAL є досить мінімальною, забезпечуючи лише драйвери формату, які постачаються з GDAL і ввімкнені за замовчуванням. Щоб отримати доступ до більшої кількості форматів, необхідно створити вихідний дистрибутив (див. Нижче).

Windows

Двійкові колеса для растеріо та GDAL створені Крістофом Гольком і доступні на його веб -сайті.

Щоб встановити rasterio, просто завантажте обидві двійкові файли для вашої системи (rasterio та GDAL) та запустіть щось подібне з папки завантажень, налаштувавши для вашої версії Python.

Ви також можете встановити rasterio з conda за допомогою каналу condo-forge від Anaconda.

Розподіл джерел

Rasterio - це розширення Python C, і для його створення вам знадобиться робочий компілятор (XCode для OS X тощо). Вам також знадобиться попередньо встановлений Numpy. Заголовки Numpy потрібні для запуску сценарію налаштування растеріо. Numpy потрібно встановити (через зазначений файл вимог), перш ніж можна буде встановити rasterio. Докладнішу інформацію див. У конфігурації равіріо Travis.

Linux

Наступні команди адаптовані з конфігурації Travis-CI Rasterio.

При необхідності адаптуйте їх до вашої системи Linux.

Для середовища Python на основі Homebrew зробіть наступне.

Windows

Ви можете завантажити бінарний дистрибутив GDAL звідси. Вам також потрібно буде завантажити скомпільовані бібліотеки та заголовки (включаючи файли).

При створенні з вихідного коду в Windows важливо знати, що setup.py не може покладатися на gdal-config, який є тільки в системах UNIX, щоб виявити розташування файлів заголовків і бібліотек, необхідних rasterio для компіляції розширень C. У Windows ці шляхи повинні бути надані користувачем. Вам потрібно буде знайти файли включення та файли бібліотеки для gdal та скористатися файлом setup.py наступним чином. Вам також потрібно буде вказати встановлену версію gdal через змінну середовища GDAL_VERSION.

Примітка: --no-use-pep517 вимагається, оскільки на даний момент pip не реалізує спосіб передачі необов’язкових аргументів у бекенд збірки під час використання PEP 517. Докладніше див. Тут.

Крім того, змінні середовища (наприклад, INCLUDE та LINK), що використовуються компілятором MSVC, можуть бути використані для вказівки на включення каталогів та файлів бібліотеки.

Ми успішно зібрали код за допомогою тієї ж версії Visual Studio Microsoft, яка використовувалася для компіляції цільової версії Python (докладніше про версії, які використовуються тут.).

Примітка: Каталог DLL GDAL та gdal-data мають бути у вашому PATH Windows, інакше растрова не працюватиме.


Встановлення GDAL

Як я вже згадував, GDAL працює у командному рядку, але встановити його трохи складніше, ніж звичайний комерційний додаток.

На Mac я знайшов найпростіший підхід-завантажити повний образ диска GDAL 2.1 із KyngChaos (я знаю, що це схоже на колектив хакерів середини 80-х, які розповсюджують бутлег-ігри C64, але сайт законний). Цей інсталятор спирається на версію Python, що входить до складу OS X, у моєму випадку 2.7.12, а не 3.x.

На образі диска є два інсталятора: один для NumPy (запустіть це першим) і один для GDAL Complete (запустіть цей другий). Вам доведеться відкривати файли натисканням клавіші Control, оскільки інсталятори від "невідомого розробника". (Не хвилюйтесь, все ще добре. (Я думаю.)) Після останнього кроку вам буде добре: виріжте та вставте наступні два рядки (запозичені з MapBox) у Термінал (вони дозволять вам виконайте команди GDAL, просто ввівши їх, не вказуючи шлях. bash_profile - це прихований файл, тому не дивуйтесь, якщо ви не можете його знайти.)


Розширене перетворення координат¶

OGRCreateCoordinateTransformation () під капотом може визначати декілька операцій координати-кандидата, що трансформуються від вихідної CRS до цільової CRS. Кожна з цих операцій координатора -кандидата має свою область застосування. Коли викликається Transform (), він визначатиме найбільш прийнятну операцію з координатами на основі координат точки перетворення та сфери використання. Наприклад, існує кілька десятків можливих операцій з координатами для перетворення NAD27 у WGS84.

Якщо відома обмежувальна рамка області інтересу, в якій розташовані координати для перетворення, її можна вказати, щоб обмежити дії -координати -кандидата для розгляду:

У тих випадках, коли необхідно використати певну операцію з координатами, можна вказати її як рядок PROJ (одноетапну операцію або багатоетапну рядок, що починається з +proj = конвеєр), рядок WKT2, що описує операцію CoordinateOpera, або urn: ogc : def: координата Операція: EPSG :: XXXX URN


Подивіться відео: Как долго я тебя ждала: Серия 1. МЕЛОДРАМА 2019