Создание HTTP-сервиса для публикации векторных данных

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

Создание HTTP-сервиса для публикации векторных данных

Сообщение Denis Rykov » 13 июн 2013, 12:13

Написал небольшую заметку, приглашаю к обсуждению.
Spatial is now, more than ever, just another column- The Geometry Column.

Аватара пользователя
vasnake
Интересующийся
Сообщения: 22
Зарегистрирован: 23 май 2013, 16:42
Репутация: 6
Откуда: Москва
Контактная информация:

Re: Создание HTTP-сервиса для публикации векторных данных

Сообщение vasnake » 13 июн 2013, 15:05

Замечательно написано, одобряю :)

Заметил несколько опечаток, мне их поправить в вики или тут их проявить?

Я бы во введении добавил конкретики: это мол учебный материал, показывающий, как на одной станичке кода реализовать сервер для одного из основных запросов протокола WFS. Что-то типа этого. А то, мне кажется, вступление несколько расплывчатое.
It ain't easy. It just proves how great I am.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Создание HTTP-сервиса для публикации векторных данных

Сообщение Максим Дубинин » 13 июн 2013, 15:10

vasnake писал(а):мне их поправить в вики или тут их проявить?
лучше в вики
пристегивайтесь, турбулентность прямо по курсу

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

Re: Создание HTTP-сервиса для публикации векторных данных

Сообщение Denis Rykov » 13 июн 2013, 15:17

2vasnake

Спасибо за отзыв! Поправьте, пожалуйста, опечатки в вики. Про введение понял - добавлю.
Spatial is now, more than ever, just another column- The Geometry Column.

Аватара пользователя
vasnake
Интересующийся
Сообщения: 22
Зарегистрирован: 23 май 2013, 16:42
Репутация: 6
Откуда: Москва
Контактная информация:

Re: Создание HTTP-сервиса для публикации векторных данных

Сообщение vasnake » 13 июн 2013, 16:25

Я обратил внимание, в SQL запросе использован оператор "&&". Для данных типа Point это, наверное, несущественно, а вот для протяженных объектов я видел разницу между оператором "&&" и функцией "st_disjoint" или "st_intersects". Результат выборки может отличаться http://vasnake.blogspot.ru/2013/04/inte ... joint.html

Это я к тому, что было бы неплохо знать, какой метод использует для пространственного фильтра референсный продукт.
It ain't easy. It just proves how great I am.

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

Re: Создание HTTP-сервиса для публикации векторных данных

Сообщение Denis Rykov » 13 июн 2013, 17:55

Всё верно, поправил sql-запрос плюс добавил аннотацию.
Spatial is now, more than ever, just another column- The Geometry Column.

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

Re: Создание HTTP-сервиса для публикации векторных данных

Сообщение Denis Rykov » 14 июн 2013, 07:32

Изменил способ подключения к базе данных и добавил пример визуализации в OpenLayers.
Spatial is now, more than ever, just another column- The Geometry Column.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Создание HTTP-сервиса для публикации векторных данных

Сообщение Максим Дубинин » 14 июн 2013, 21:24

В качестве примера использования подобного сервиса может служить проект Найди участкового, откройте консоль вашего браузера и посмотрите какие запросы уходят на сервер при сдвиге карты.
Я открыл, там так:
box {"_southWest":{"lat":55.703624651648276,"lng":37.57540941238403},"_northEast":{"lat":55.70627245497653,"lng":37.588584423065186}}
Какой вывод? Расшифровать бы в статье, такой сервис используется в этом проекте? Или подобные запросы мы хотим научить обрабатывать описываемую штуку.
пристегивайтесь, турбулентность прямо по курсу

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

Re: Создание HTTP-сервиса для публикации векторных данных

Сообщение Denis Rykov » 15 июн 2013, 02:48

box {"_southWest":{"lat":55.703624651648276,"lng":37.57540941238403},"_northEast":{"lat":55.70627245497653,"lng":37.588584423065186}}
Это фрагмент URL, интерфейс сервиса может быть любым, об этом в статье речь идет в разделе " Выбор API". А вывод такой - если посмотреть, что возвращает сервис по переданному URL, правильно - JSON. То есть по виду URL мы можем однозначно заявить, что на серверной стороне стоит никакой не WFS, а простенький HTTP-сервис, аналогичный тому, что мы рассматриваем в статье (правда с другим API). Добавил пояснения в статью.
Spatial is now, more than ever, just another column- The Geometry Column.

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

Re: Создание HTTP-сервиса для публикации векторных данных

Сообщение Denis Rykov » 25 июл 2013, 09:44

Збитнев Владислав Анатольевич писал(а):Вот мапинфо. Вот аркгис. Вот qGis. В каждом клиент wfs. Картографы работают в гис, а не на порталах типа osm. Чтобы решать реальные задачи в реальных технологических процессах нужна связка инструментальных гис с гарантированно качественным и понимаемым этой гис вебсервисом. Зачем предлагать делать поделки типа geojson? Эти велосипеды для других водителей
Вот тут нашёл.
Spatial is now, more than ever, just another column- The Geometry Column.

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Создание HTTP-сервиса для публикации векторных данных

Сообщение ericsson » 25 июл 2013, 10:49

Denis Rykov, спасибо, повеселили цитатой.
Это мне напоминает речи одного гражданина в теме про RTKLib на форуме OSM - он там постоянно доказывал, что любительские средства фазовых измерений GPS - ерунда, потому что не подходят для профессиональных геодезических съемок и вообще - не сертифицированы. Ему много раз писали о том, что такая задача перед этими средствами не ставится, а он все равно возражал. Если у кого-то в голове не умещается, что в какой-то области может существовать что-то еще, кроме привычной ему профессиональной деятельности, это его личные проблемы.

monoid
Новоприбывший
Сообщения: 2
Зарегистрирован: 17 авг 2013, 18:43
Репутация: 0

Re: Создание HTTP-сервиса для публикации векторных данных

Сообщение monoid » 17 авг 2013, 18:50

О боже -- формирование SQL запроса при помощи format!!! Да это дыра в безопасности размером с самосвал!!!

http://xkcd.com/327/ -- иллюстрация :)

Я могу поправить статью в вики, но у меня сейчас нет возможности протестировать.

Ну а так статья годная.

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

Re: Создание HTTP-сервиса для публикации векторных данных

Сообщение Denis Rykov » 18 авг 2013, 23:01

monoid писал(а):О боже -- формирование SQL запроса при помощи format!!! Да это дыра в безопасности размером с самосвал!!!
Если вы внимательно читали статью, то могли заметить там следующее:
И хотя это всего-лишь учебный вариант, в котором не предусмотрена никакая обработка ошибок, но он наглядно показывает как может быть устроен простейший сервис подобного типа.
Поэтому считаю, что в данном контексте ваше замечание неуместно, а уж выбранный тон тем более.
Spatial is now, more than ever, just another column- The Geometry Column.

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Создание HTTP-сервиса для публикации векторных данных

Сообщение ericsson » 19 авг 2013, 00:43

Хакер и солонки в столовой, да...

monoid
Новоприбывший
Сообщения: 2
Зарегистрирован: 17 авг 2013, 18:43
Репутация: 0

Re: Создание HTTP-сервиса для публикации векторных данных

Сообщение monoid » 19 авг 2013, 05:12

Прошу прощения, если мой тон вас задел.

Учебный вариант учебным вариантом, но кто-то скопирует этот код, не обратив внимания на уязвимость (или не зная, что такое SQL-инъекция и как её избежать), и начнёт делать на основе кода проект.

И я считаю, что в данном случае это не отсутствие обработки ошибок, а ошибка в коде. Даже учебные примеры не должны использовать небезопасные практики, ведущие к уязвимостям.

Ответить

Вернуться в «Материалы сайта»

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 14 гостей