Как обрабатывать геометрические данные из пространственной базы данных

#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