ТЗ postgis

Не знаете, где задать вопрос? Задавайте здесь.
alex39
Интересующийся
Сообщения: 18
Зарегистрирован: 03 фев 2016, 18:46
Репутация: 0

ТЗ postgis

Сообщение alex39 » 03 фев 2016, 19:06

Привет всем !

Я обладаю совсем скудными знаниями по субд, поэтому буду рад любому совету и ссылкам на полезную информацию по моим промежуточным проблемам

У меня есть небольшое задание, которое я хочу выполнить:
1)Мне необходимо выгрузить пространственные данные с портала в формате json (complete)
2)Создать виртуалку и на ней установить postresql/postgis (complete)
3)Скачать и установить программу, которая сможет выгрузить таблицу из postgis и выведет мне этот объект (я выбрал QGIS, complete)

Насколько я понимаю, надо создать базу данных, пользователя и таблицу . В таблице создать колонки ID и GEPMETRY. ID numeric с первичным ключом, а GEOMETRY json формата. Это я сделал, и даже вручную открыл блокнотом json файл, скопировал и вставил в поле. Вроде все правильно на этом этапе.

Далее в qgis законнектился с базой, прошло успешно. И там попытался через менеджер БД добавиить в проект мою таблицу, и она добавляется даже , но никакого графически нарисованного объекта не появляется...

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: ТЗ postgis

Сообщение Andrey Zhukov » 03 фев 2016, 19:21

Для начала разберитесь, что такое json

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: ТЗ postgis

Сообщение Denis Rykov » 03 фев 2016, 20:21

Ознакомьтесь, пожалуйста, чтобы не было подобных вопросов.
Spatial is now, more than ever, just another column- The Geometry Column.

alex39
Интересующийся
Сообщения: 18
Зарегистрирован: 03 фев 2016, 18:46
Репутация: 0

Re: ТЗ postgis

Сообщение alex39 » 04 фев 2016, 16:21

Прочел почти все из 1го пункта "Архитектура приложений веб-ГИС. Способы хранения данных."
Но не особо мне это пока пригождается ... Может даст кто-то более конкретное замечание?

Почитав и посмотрев как все делается, понял , что необходимо создать колонку geometry http://postgis.net/docs/AddGeometryColumn.html , и в нее уже закидывать геометрию. Создал одну колонку как в примере , но если в нее класть данные из json , то выдает ошибку parse error - invalid geometry.

+ постоянно ошибка в консоле на счет моей кодировки , потом когда прописываю " SET client_encoding = 'UTF8'; " запрос выполняется, но если запрос с ошибкой, то он пишет причину ошибки на абракадабре

Ну и я создал колонку geom geometry (Point, 3785) (SRID сделал такой же ,как и в портале с которого я выгрузил объект), мне кажется что тут необходимо поменять POINT на POLYGON. Через пгадмина я вообще хз как это сделать,а новую если создавать, то в примере не указаны какие параметры могут быть :
text AddGeometryColumn(varchar table_name, varchar column_name, integer srid, varchar type, integer dimension, boolean use_typmod=true)
Я хз что писать под varchar type, integer dimension, boolean use_typmod=true

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

Re: ТЗ postgis

Сообщение SergeyRyzhkov » 04 фев 2016, 16:30

alex39
Не в упрек. Просто совет. Наймите специалистов соответствующих, не мучайте ни себя, ни проект Ваш...

ЗЫ: Насчет колонки с геометрией (PostGIS) читайте про формат хранения,
про форматы в принципе (GeoJSON, WKT, WKB) про функции самого PostGIS, такие как ST_GeomFromGeoJSON,
про ogr2ogr (для конвертирования между форматами)... А потом начнется ужас :)- сколько нужно будет освоить.
Так что если далее по жизни Вам это не надо - отдайте профи, если все же хотите изучть технологии - начните с азов (а не проект делать)

Все ИМНО!

alex39
Интересующийся
Сообщения: 18
Зарегистрирован: 03 фев 2016, 18:46
Репутация: 0

Re: ТЗ postgis

Сообщение alex39 » 05 фев 2016, 14:23

Хорошо, давайте сначала
1)В psql.exe у меня предупреждение , как его убрать?
WARNING: Console code page (437) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.

2)Мне объяснили, что загрузить данные в postgis можно через ogr2ogr. Поставить его можно выполнив Sql запрос, который устанавливает расширение

1.SQL-запрос: "CREATE EXTENSION postgis;".
- Выполнив его мне пишет что у меня постгис уже установлен в с схему паблик, удалите его сначала.

2.Чтобы проверить, что PostGIS установлен - выполните "SELECT PostGIS_Full_Version();".
-После выполнения этого запроса у меня выводи как в случае удачно выполнения примере :"POSTGIS="2.2.1 r14555" GEOS="3.5.0-CAPI-1.9.0 r4090" PROJ="Rel. 4.9.1, 04 March 2015" LIBXML="2.7.8" LIBJSON="0.12""

Дальше я в консоле пытаюсь ввести: "ogr2ogr --help/ogrinfo --help/ogr2ogr" - ничего не происходит.

Тут я не могу понять уже что к чему. Потому что я не могу понять утилита ogr2ogr установлена ли вообще ?Или она активируется когда я выполняю запрос по установлению расширения?

3)И вот еще один момент меня тревожит , в гайде по установке Postgis был момент с ашблонным созданием бд , в котором появлялись 2 таблицы spatial_ref_sys и geometry_columns. У меня не было никаких шаблонов , поэтому был 2й вариант в ручную исполюзуя 2 скрипта postgis.sql и spatial_ref_sys.sql .Я их выполнил , но таблицы geometry_columns у меня не появилась.

Так что тут тоже вопрос ,может что-то из-за этого и не получается. И как мне создать эту таблицу теперь?
Последний раз редактировалось alex39 05 фев 2016, 14:45, всего редактировалось 1 раз.

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

Re: ТЗ postgis

Сообщение SergeyRyzhkov » 05 фев 2016, 14:38

Начните
http://gis-lab.info/qa.html
Там найдите статьи по ключевым словам PostGIS, GDAL, ogr2ogr

Воспользуйтесь поиском по ресурсу (с теми же ключевыми словами, по отдельности)

alex39
Интересующийся
Сообщения: 18
Зарегистрирован: 03 фев 2016, 18:46
Репутация: 0

Re: ТЗ postgis

Сообщение alex39 » 05 фев 2016, 14:58

SergeyRyzhkov писал(а):Начните
http://gis-lab.info/qa.html
Там найдите статьи по ключевым словам PostGIS, GDAL, ogr2ogr

Воспользуйтесь поиском по ресурсу (с теми же ключевыми словами, по отдельности)
Зачем вы отвечаете как бот?Кидаете ссылку на справочник и мол читайте сами. Тем более что я естественно уже прочел и без этого не мало статей пл всем этим "ключевым словам"
У меня есть 3 конкретных вопроса, возможно они глупы (но на то я и новичек на форуме что б их задавать),на которые мне требуются конкретные ответы.

1)Как создать таблицу geometry_columns?
2)Как убрать ощибку в консоле связанную с кодировкой?
3)Как мне подключить утилиту ogr2org?

alex39
Интересующийся
Сообщения: 18
Зарегистрирован: 03 фев 2016, 18:46
Репутация: 0

Re: ТЗ postgis

Сообщение alex39 » 05 фев 2016, 15:19

Насчет geometry_columns , их я нашел в Схема > паблик > вью > и тут 2 вью geography_columns и geometry_columns
Надеюсь это те самые таблицы

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

Re: ТЗ postgis

Сообщение SergeyRyzhkov » 05 фев 2016, 15:29

alex39 писал(а):
SergeyRyzhkov писал(а):Начните
http://gis-lab.info/qa.html
Там найдите статьи по ключевым словам PostGIS, GDAL, ogr2ogr

Воспользуйтесь поиском по ресурсу (с теми же ключевыми словами, по отдельности)
Зачем вы отвечаете как бот?Кидаете ссылку на справочник и мол читайте сами. Тем более что я естественно уже прочел и без этого не мало статей пл всем этим "ключевым словам"
У меня есть 3 конкретных вопроса, возможно они глупы (но на то я и новичек на форуме что б их задавать),на которые мне требуются конкретные ответы.

1)Как создать таблицу geometry_columns?
2)Как убрать ощибку в консоле связанную с кодировкой?
3)Как мне подключить утилиту ogr2org?
Не грубите...
Если бы Вы действительно читали, а если и читали, то внимательно, - то нашли бы сразу

1. http://postgis.net/docs/AddGeometryColumn.html
2. Не знаю
3. Посмотрите
viewtopic.php?f=14&t=20482&p=139237&hil ... al#p139237
http://gis-lab.info/qa/qgis-osgeo4w.html
Также советую установить QGIS ... сэкономите время (хотя многое так для Вас и останется тайной, спрятанной за GUI)

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: ТЗ postgis

Сообщение Ariki » 05 фев 2016, 15:48

alex39 писал(а):See psql reference
page "Notes for Windows users" for details.
Предлагает загуглить страничку справки. Вы это сделали?
alex39 писал(а):Дальше я в консоле пытаюсь ввести: "ogr2ogr --help/ogrinfo --help/ogr2ogr" - ничего не происходит.
Нет в системном пути. Добавьте или запускайте по полному пути. У меня, например, лежит здесь:

Код: Выделить всё

C:\Program Files\PostgreSQL\9.4\bin\ogr2ogr.exe
alex39 писал(а):в гайде по установке Postgis был момент с шаблонным созданием бд , в котором появлялись 2 таблицы spatial_ref_sys и geometry_columns. У меня не было никаких шаблонов , поэтому был 2й вариант в ручную исполюзуя 2 скрипта postgis.sql и spatial_ref_sys.sql .Я их выполнил , но таблицы geometry_columns у меня не появилась.
Гайд по старой версии PostGIS. Там, действительно, база создавалась из шаблона. В новых достаточно выполнить CREATE EXTENSION postgis;
Таблицы, которые вы ищете, в новых версиях превратились в представления, так что всё OK.

alex39
Интересующийся
Сообщения: 18
Зарегистрирован: 03 фев 2016, 18:46
Репутация: 0

Re: ТЗ postgis

Сообщение alex39 » 05 фев 2016, 15:52

По первому вопросу. Это я читал, и даже на сайте гис-лаб нашел более подробный ответ на этот вопрос http://gis-lab.info/docs/postgis/manual/ch04_2.html .
Но мне казалось что это не много не то , потому что такая колонка должна генерироваться автоматически при использовании шаблона либо скрипта. Но насколько я понял, она просто лежит в другом каталоге "Схема > паблик > вью "

По второму вопросу я так и не нашел ответа, максимум что я могу сделать это : "SET client_encoding = 'UTF8';"

По третьему вопросу ничего не нашел,так что спасибо SergeyRyzhkov!

Но вообще в итоге я нашел на сайте http://www.mapshaper.org/ конвертор , открыл мой файл GeoJSON и переконвертировал его в shape, далее через утилиту PostGIS Shapefile and DBF loader 2.2 импортировал файл и таблица создалась сама.
Далее в qgis соединился с базой и добавил слой, он отобразился в qgis.

Теперь вопрос , после конвертации у меня зазиповано было еще 2 файла .shx и .dbf. Я не понял, зачем они нужны ?

И еще вопрос такой,в моей системе SRID 3785 , но когда я добавляю есть возможность ввести любой SRID,собственно если введу другой , он сам конвертирует его что ли?

alex39
Интересующийся
Сообщения: 18
Зарегистрирован: 03 фев 2016, 18:46
Репутация: 0

Re: ТЗ postgis

Сообщение alex39 » 05 фев 2016, 16:04

Ariki, я не смотрел страничку справки, тк не знаю где ее найти даже. Да и думал возможно распространенная ошибка и справляется путем изменения нескольких настроек ,которые знающие люди на форуме могут с легкостью подсказать.
Насчет пути к ogr2ogr я не понял.Так то я нашел и даже потыкал на него ,но если в консоле опять вводить команды хелпа ничего не происходит
Ну и на счет column я уже тоже понял,но спасибо )

trir
Гуру
Сообщения: 5278
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1014
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: ТЗ postgis

Сообщение trir » 05 фев 2016, 16:09

после конвертации у меня зазиповано было еще 2 файла .shx и .dbf. Я не понял, зачем они нужны ?
Хотя чаще всего используется термин shapefile, на самом деле shapefile это не один файл, а набор файлов с одинаковым именем, но разными расширениями, например, «Kiev_map.*». Основой формата являются три обязательных файла: .shp, .shx и .dbf.
wiki

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: ТЗ postgis

Сообщение Denis Rykov » 05 фев 2016, 16:11

Как-то приходилось объяснять основы PostGIS в одной организации, сотрудники которой не признают Linux, так что может быть что-то полезное найдёте: http://drnextgis.github.io/webgis_cours ... index.html Оттуда же касаемо абракадабры в сообщениях:
Также создайте переменную окружения LC_MESSAGES=C, это позволит изменить язык сообщений PostgreSQL на английский.
Spatial is now, more than ever, just another column- The Geometry Column.

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: AlexRomantsov, gs89 и 11 гостей