#python #database #sqlite #geometry #spatialite
#python #База данных #sqlite #геометрия #spatialite
Вопрос:
Я работаю над небольшим географическим проектом, и у меня возникла небольшая проблема с одной вещью. У меня есть пространственная база данных (SpatiaLite), в которой я храню некоторые геометрии (в ней есть столбцы геометрии). В частности — полигоны. Разумеется, они хранятся в базе данных в виде больших двоичных объектов. Теперь я хотел бы запросить базу данных, извлечь этот геометрический объект и обработать его, чтобы я мог, например, построить его позже. На мой взгляд, есть два способа сделать это: либо извлечь необработанный большой двоичный объект, а затем каким-то образом его декодировать, либо получить его хорошо известное текстовое представление с помощью команды SpatiaLite AsText (Geometry) . Результат будет выглядеть следующим образом:
POLYGON ((0, 5), (3, 4) ...)
Не совсем уверен, какой способ лучше, есть какие-нибудь советы, как подойти к этому? Реализация выполнена на Python 2.7.
Комментарии:
1. Библиотеки рисования карт обычно знают о WKB. Как вы хотите их изобразить?
2. До сих пор я просто использовал matplotlib.
3. Попробуйте один, и если вы не можете заставить его работать, вернитесь за помощью.
4. ваше предложение «получить его хорошо известное текстовое представление с помощью команды SpatiaLite AsText (Geometry)» кажется хорошим местом для начала.
5. shapely может загрузить wkb или wkt, если у вас возникли проблемы с синтаксическим анализом. toblerity.org/shapely/manual.html