Требования к ГИС, PointField и расчету расстояния с географией = True, включая вопрос базы данных - PullRequest
0 голосов
/ 24 января 2019

Ссылаясь на Django: плагины, пакеты или встроенные функции.

Нужно ли устанавливать другие плагины для использования ГИС-функций "PointField" и запросов на расчет расстояний с помощью dwithin? Ошибка теперь связана с отсутствием PointField в init или с запросом GDAL (я использую GeoIP2 с maxmind db? Не уверен, что они похожи или работают вместе) - Не могу найти четкий ответ, как к тому, что нужно, а что нет.

Также при условии, что dwithin является самым быстрым фильтром для этого - если у меня есть расстояние max? Это ST_Distance была медленной функцией и может быть медленнее для больших дБ?

Также будет ли иметь значение, если я сейчас использую sqllite3 для тестирования? Способен ли он на эти функции? Продолжайте читать о PostGIS и других ограничениях.

Спасибо большое!

1 Ответ

0 голосов
/ 16 февраля 2019

Что я в итоге сделал - насколько я помню:

Так что я мог бы сделать Sqlite3 Spacial Database - я пытался, но у меня были проблемы с созданием Spacial или он был просто моим GDALпроблемы, с которыми я столкнулся позже, которые мешали мне быть успешным, так или иначе планируя позже использовать PostgreSQL, я просто решил, что пришло время перейти на

Затем я решил переключиться на PostgreSQL с PostGIS вместе с OSGeo4W и также pipустановил psycopg2 для PostgreSQL.
При установке PostgreSQL: PostGIS я предпочитаю «Создать Пространственную базу данных» с именем, которое я хочу использовать при установке - просто потому, что я пытался создать свою собственную, но у меня почти не осталось функциональности, котораядобавляется способ его создания при установке.(Да, я новичок и не знаю, как создать новую пространственную базу данных для себя). Также скажите «да» всем переменным среды, помогает всем найти нужные файлы.

Не 100%, но я считаю, что все нужночтобы быть таким же, если вы используете 32-битный Python, то вы хотите 32-битный все остальное (включая OSGeo4W) (я полагаю, что это также включает в себя окна, так как в противном случае вам может не понадобиться 32-битная DLL)

ПослеПри установке OSGeo4W вам либо нужно указать на свою GDAL Dll непосредственно в настройках: GDAL_LIBRARY_PATH=your_path_to_the_dll/gdal204.dll
**, установленный на фактическую имеющуюся у вас dll, похоже, что django ищет только версии 2.2 и ниже, поэтому, если вы укажите только путь, он будет тольконайти gdal202 и несколько старых версий.

(вы можете отредактировать файл libgdal.py в файле site-packages.django.contrib.gis.gdal, чтобы он искал более новые версии gdal)

У меня были СЕРЬЕЗНЫЕ головные боли, пытавшиеся получитьэто работает на моей летней установке Windows 7 64bit с большим количеством случайных установок Visual Studio и так далее, 32-битный Python, 32-битный GDAL, ECT ... и это было MESS, ошибки Dll слева и справа, несколько дней, думая, что я почтиЕсли у вас есть много проблем, я настоятельно рекомендую установить новую 64-битную Windows 10 и все 64-битные - Или сделайте то, что кажется лучшим предложением, и попробуйте dev на Ubuntu.

TRLR: Если у вас много проблем и вы не знаете, что делать:
Установите свежие 64-битные windows 10, следуйте инструкциям на сайте Django, используя все 64-битные версии.https://docs.djangoproject.com/en/2.1/ref/contrib/gis/install/#windows Тогда не забудьте поставить свой GDAL_LIBRARY_PATH

...