Страница 1 из 2

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

Добавлено: 13 июн 2013, 12:13
Denis Rykov
Написал небольшую заметку, приглашаю к обсуждению.

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

Добавлено: 13 июн 2013, 15:05
vasnake
Замечательно написано, одобряю :)

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

Я бы во введении добавил конкретики: это мол учебный материал, показывающий, как на одной станичке кода реализовать сервер для одного из основных запросов протокола WFS. Что-то типа этого. А то, мне кажется, вступление несколько расплывчатое.

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

Добавлено: 13 июн 2013, 15:10
Максим Дубинин
vasnake писал(а):мне их поправить в вики или тут их проявить?
лучше в вики

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

Добавлено: 13 июн 2013, 15:17
Denis Rykov
2vasnake

Спасибо за отзыв! Поправьте, пожалуйста, опечатки в вики. Про введение понял - добавлю.

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

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

Это я к тому, что было бы неплохо знать, какой метод использует для пространственного фильтра референсный продукт.

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

Добавлено: 13 июн 2013, 17:55
Denis Rykov
Всё верно, поправил sql-запрос плюс добавил аннотацию.

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

Добавлено: 14 июн 2013, 07:32
Denis Rykov
Изменил способ подключения к базе данных и добавил пример визуализации в OpenLayers.

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

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

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

Добавлено: 15 июн 2013, 02:48
Denis Rykov
box {"_southWest":{"lat":55.703624651648276,"lng":37.57540941238403},"_northEast":{"lat":55.70627245497653,"lng":37.588584423065186}}
Это фрагмент URL, интерфейс сервиса может быть любым, об этом в статье речь идет в разделе " Выбор API". А вывод такой - если посмотреть, что возвращает сервис по переданному URL, правильно - JSON. То есть по виду URL мы можем однозначно заявить, что на серверной стороне стоит никакой не WFS, а простенький HTTP-сервис, аналогичный тому, что мы рассматриваем в статье (правда с другим API). Добавил пояснения в статью.

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

Добавлено: 25 июл 2013, 09:44
Denis Rykov
Збитнев Владислав Анатольевич писал(а):Вот мапинфо. Вот аркгис. Вот qGis. В каждом клиент wfs. Картографы работают в гис, а не на порталах типа osm. Чтобы решать реальные задачи в реальных технологических процессах нужна связка инструментальных гис с гарантированно качественным и понимаемым этой гис вебсервисом. Зачем предлагать делать поделки типа geojson? Эти велосипеды для других водителей
Вот тут нашёл.

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

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

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

Добавлено: 17 авг 2013, 18:50
monoid
О боже -- формирование SQL запроса при помощи format!!! Да это дыра в безопасности размером с самосвал!!!

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

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

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

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

Добавлено: 18 авг 2013, 23:01
Denis Rykov
monoid писал(а):О боже -- формирование SQL запроса при помощи format!!! Да это дыра в безопасности размером с самосвал!!!
Если вы внимательно читали статью, то могли заметить там следующее:
И хотя это всего-лишь учебный вариант, в котором не предусмотрена никакая обработка ошибок, но он наглядно показывает как может быть устроен простейший сервис подобного типа.
Поэтому считаю, что в данном контексте ваше замечание неуместно, а уж выбранный тон тем более.

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

Добавлено: 19 авг 2013, 00:43
ericsson
Хакер и солонки в столовой, да...

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

Добавлено: 19 авг 2013, 05:12
monoid
Прошу прощения, если мой тон вас задел.

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

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