ТЗ postgis
-
- Интересующийся
- Сообщения: 18
- Зарегистрирован: 03 фев 2016, 18:46
- Репутация: 0
ТЗ postgis
Привет всем !
Я обладаю совсем скудными знаниями по субд, поэтому буду рад любому совету и ссылкам на полезную информацию по моим промежуточным проблемам
У меня есть небольшое задание, которое я хочу выполнить:
1)Мне необходимо выгрузить пространственные данные с портала в формате json (complete)
2)Создать виртуалку и на ней установить postresql/postgis (complete)
3)Скачать и установить программу, которая сможет выгрузить таблицу из postgis и выведет мне этот объект (я выбрал QGIS, complete)
Насколько я понимаю, надо создать базу данных, пользователя и таблицу . В таблице создать колонки ID и GEPMETRY. ID numeric с первичным ключом, а GEOMETRY json формата. Это я сделал, и даже вручную открыл блокнотом json файл, скопировал и вставил в поле. Вроде все правильно на этом этапе.
Далее в qgis законнектился с базой, прошло успешно. И там попытался через менеджер БД добавиить в проект мою таблицу, и она добавляется даже , но никакого графически нарисованного объекта не появляется...
Я обладаю совсем скудными знаниями по субд, поэтому буду рад любому совету и ссылкам на полезную информацию по моим промежуточным проблемам
У меня есть небольшое задание, которое я хочу выполнить:
1)Мне необходимо выгрузить пространственные данные с портала в формате json (complete)
2)Создать виртуалку и на ней установить postresql/postgis (complete)
3)Скачать и установить программу, которая сможет выгрузить таблицу из postgis и выведет мне этот объект (я выбрал QGIS, complete)
Насколько я понимаю, надо создать базу данных, пользователя и таблицу . В таблице создать колонки ID и GEPMETRY. ID numeric с первичным ключом, а GEOMETRY json формата. Это я сделал, и даже вручную открыл блокнотом json файл, скопировал и вставил в поле. Вроде все правильно на этом этапе.
Далее в qgis законнектился с базой, прошло успешно. И там попытался через менеджер БД добавиить в проект мою таблицу, и она добавляется даже , но никакого графически нарисованного объекта не появляется...
-
- Гуру
- Сообщения: 838
- Зарегистрирован: 10 дек 2009, 23:24
- Репутация: 169
- Ваше звание: старик-гисовик
- Откуда: Москва
- Контактная информация:
Re: ТЗ postgis
Для начала разберитесь, что такое json
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: ТЗ postgis
Ознакомьтесь, пожалуйста, чтобы не было подобных вопросов.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Интересующийся
- Сообщения: 18
- Зарегистрирован: 03 фев 2016, 18:46
- Репутация: 0
Re: ТЗ postgis
Прочел почти все из 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
Но не особо мне это пока пригождается ... Может даст кто-то более конкретное замечание?
Почитав и посмотрев как все делается, понял , что необходимо создать колонку 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
alex39
Не в упрек. Просто совет. Наймите специалистов соответствующих, не мучайте ни себя, ни проект Ваш...
ЗЫ: Насчет колонки с геометрией (PostGIS) читайте про формат хранения,
про форматы в принципе (GeoJSON, WKT, WKB) про функции самого PostGIS, такие как ST_GeomFromGeoJSON,
про ogr2ogr (для конвертирования между форматами)... А потом начнется ужас - сколько нужно будет освоить.
Так что если далее по жизни Вам это не надо - отдайте профи, если все же хотите изучть технологии - начните с азов (а не проект делать)
Все ИМНО!
Не в упрек. Просто совет. Наймите специалистов соответствующих, не мучайте ни себя, ни проект Ваш...
ЗЫ: Насчет колонки с геометрией (PostGIS) читайте про формат хранения,
про форматы в принципе (GeoJSON, WKT, WKB) про функции самого PostGIS, такие как ST_GeomFromGeoJSON,
про ogr2ogr (для конвертирования между форматами)... А потом начнется ужас - сколько нужно будет освоить.
Так что если далее по жизни Вам это не надо - отдайте профи, если все же хотите изучть технологии - начните с азов (а не проект делать)
Все ИМНО!
-
- Интересующийся
- Сообщения: 18
- Зарегистрирован: 03 фев 2016, 18:46
- Репутация: 0
Re: ТЗ postgis
Хорошо, давайте сначала
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 у меня не появилась.
Так что тут тоже вопрос ,может что-то из-за этого и не получается. И как мне создать эту таблицу теперь?
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
Начните
http://gis-lab.info/qa.html
Там найдите статьи по ключевым словам PostGIS, GDAL, ogr2ogr
Воспользуйтесь поиском по ресурсу (с теми же ключевыми словами, по отдельности)
http://gis-lab.info/qa.html
Там найдите статьи по ключевым словам PostGIS, GDAL, ogr2ogr
Воспользуйтесь поиском по ресурсу (с теми же ключевыми словами, по отдельности)
-
- Интересующийся
- Сообщения: 18
- Зарегистрирован: 03 фев 2016, 18:46
- Репутация: 0
Re: ТЗ postgis
Зачем вы отвечаете как бот?Кидаете ссылку на справочник и мол читайте сами. Тем более что я естественно уже прочел и без этого не мало статей пл всем этим "ключевым словам"SergeyRyzhkov писал(а):Начните
http://gis-lab.info/qa.html
Там найдите статьи по ключевым словам PostGIS, GDAL, ogr2ogr
Воспользуйтесь поиском по ресурсу (с теми же ключевыми словами, по отдельности)
У меня есть 3 конкретных вопроса, возможно они глупы (но на то я и новичек на форуме что б их задавать),на которые мне требуются конкретные ответы.
1)Как создать таблицу geometry_columns?
2)Как убрать ощибку в консоле связанную с кодировкой?
3)Как мне подключить утилиту ogr2org?
-
- Интересующийся
- Сообщения: 18
- Зарегистрирован: 03 фев 2016, 18:46
- Репутация: 0
Re: ТЗ postgis
Насчет geometry_columns , их я нашел в Схема > паблик > вью > и тут 2 вью geography_columns и geometry_columns
Надеюсь это те самые таблицы
Надеюсь это те самые таблицы
- SergeyRyzhkov
- Гуру
- Сообщения: 909
- Зарегистрирован: 02 июл 2014, 19:13
- Репутация: 203
- Ваше звание: GP-экотеррористы
- Откуда: Санкт-Петербург
- Контактная информация:
Re: ТЗ postgis
Не грубите...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)
-
- Гуру
- Сообщения: 731
- Зарегистрирован: 12 янв 2011, 22:40
- Репутация: 304
- Ваше звание: ∀
Re: ТЗ postgis
Предлагает загуглить страничку справки. Вы это сделали?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
Гайд по старой версии PostGIS. Там, действительно, база создавалась из шаблона. В новых достаточно выполнить CREATE EXTENSION postgis;alex39 писал(а):в гайде по установке Postgis был момент с шаблонным созданием бд , в котором появлялись 2 таблицы spatial_ref_sys и geometry_columns. У меня не было никаких шаблонов , поэтому был 2й вариант в ручную исполюзуя 2 скрипта postgis.sql и spatial_ref_sys.sql .Я их выполнил , но таблицы geometry_columns у меня не появилась.
Таблицы, которые вы ищете, в новых версиях превратились в представления, так что всё OK.
-
- Интересующийся
- Сообщения: 18
- Зарегистрирован: 03 фев 2016, 18:46
- Репутация: 0
Re: ТЗ postgis
По первому вопросу. Это я читал, и даже на сайте гис-лаб нашел более подробный ответ на этот вопрос 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,собственно если введу другой , он сам конвертирует его что ли?
Но мне казалось что это не много не то , потому что такая колонка должна генерироваться автоматически при использовании шаблона либо скрипта. Но насколько я понял, она просто лежит в другом каталоге "Схема > паблик > вью "
По второму вопросу я так и не нашел ответа, максимум что я могу сделать это : "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,собственно если введу другой , он сам конвертирует его что ли?
-
- Интересующийся
- Сообщения: 18
- Зарегистрирован: 03 фев 2016, 18:46
- Репутация: 0
Re: ТЗ postgis
Ariki, я не смотрел страничку справки, тк не знаю где ее найти даже. Да и думал возможно распространенная ошибка и справляется путем изменения нескольких настроек ,которые знающие люди на форуме могут с легкостью подсказать.
Насчет пути к ogr2ogr я не понял.Так то я нашел и даже потыкал на него ,но если в консоле опять вводить команды хелпа ничего не происходит
Ну и на счет column я уже тоже понял,но спасибо )
Насчет пути к ogr2ogr я не понял.Так то я нашел и даже потыкал на него ,но если в консоле опять вводить команды хелпа ничего не происходит
Ну и на счет column я уже тоже понял,но спасибо )
-
- Гуру
- Сообщения: 5278
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1014
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: ТЗ postgis
после конвертации у меня зазиповано было еще 2 файла .shx и .dbf. Я не понял, зачем они нужны ?
wikiХотя чаще всего используется термин shapefile, на самом деле shapefile это не один файл, а набор файлов с одинаковым именем, но разными расширениями, например, «Kiev_map.*». Основой формата являются три обязательных файла: .shp, .shx и .dbf.
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: ТЗ postgis
Как-то приходилось объяснять основы 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 гостей