У меня по-прежнему возникают проблемы с настройкой установки GeoDjango, использующей Spatialite в качестве серверной части на компьютере с Windows.
Я использовал установщик GeoDjango и загрузил предварительно скомпилированные библиотеки с http://www.gaia-gis.it/spatialite/binaries.html и сбросил их в мой каталог geodjango/bin.
Я обновил свою установку pysqlite2 до новейшей версии, чтобы можно было загружать расширения, и указал SPATIALITE_LIBRARY_PATH
в файле настроек.
Когда я запускаю manage syncdb
, я получаю следующий вывод
C:\stuff>manage.py syncdb SpatiaLite version ..: 2.3.1 Supported Extensions: - 'VirtualShape' [direct Shapefile access] - 'VirtualText' [direct CSV/TXT access] - 'VirtualNetwork [Dijkstra shortest path] - 'RTree' [Spatial Index - R*Tree] - 'MbrCache' [Spatial Index - MBR cache] - 'VirtualFDO' [FDO-OGR interoperability] - 'SpatiaLite' [Spatial SQL - OGC] PROJ.4 Rel. 4.6.1, 21 August 2008 GEOS version 3.0.2-CAPI-1.4.2
Однако при настройке индексов для таблицы я получаю следующее сообщение:
... Installing custom SQL for core.LocationHint model updateTableTriggers: "no such module: rtree" ...
Я пытался проигнорировать сообщение, однако мои модели не сохранялись правильно.
Я немного сбит с толку, потому что библиотека Spatialite, кажется, используется и имеет расширение «RTree», но я все еще получаю сообщение об ошибке. В Интернете не так много информации об этой ошибке; Я нашел документацию RTree по адресу sqlite.org/rtree.html, однако у меня сложилось впечатление, что она уже включена в пространственный объект, потому что она находится в списке «поддерживаемых расширений».
Мне действительно нужно скомпилировать собственную библиотеку sqlite? Может ли кто-нибудь предоставить .dll, в который уже включен RTree? Я делаю что-то совершенно неправильно? Любая помощь приветствуется, спасибо!