Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2012-12-27

Web maps platform

Намедни посетила меня идея. На первый взгляд вполне занятная. Суть ее в том, чтобы и на елку влезть и жопу не ободрать, ничего нового.
Если серьезно, то хочется воспользоваться преимуществами веб-карт заточенных под ArcGIS и при этом не платить за ArcGIS сервер. Ведь вьюверы, типа «ArcGIS Viewer for Silverlight» или «ArcGIS Viewer for Flex» обладают развесистой функциональностью и при этом свободно доступны для использования и расширения. Конечно, OpenLayers тоже хорош, но по количеству функций таки уступает поделкам Esri. Одна беда, вьюверы от Esri заточены на использование ArcGIS сервера, в частности, WFS/WFS-T не поддерживают.

Так вот, идея, которая меня посетила, формулируется приблизительно так:
а что если написать веб-сервис, который будет брать данные из PostGIS (для начала) и отдавать их в формате ArcGIS REST API? Тогда можно будет использовать такой сервис в веб-картах от Esri и при этом не платить за ArcGIS сервер (от 30 000 долларов между прочим). Пример подобного сервиса http://featureserver.org/

Можно, конечно, и по другому: дописать модуль к, скажем, «ArcGIS Viewer for Silverlight», который реализует что-то вроде FeatureLayer поверх сервиса WFS-T. Кстати, есть даже пример такого подхода
для «ArcGIS Viewer for Flex».

Про идею всё. Будем посмотреть, как пойдет.

Дальше идет перечень интересных материалов, найденных мною в процессе первичного сбора информации. Коллекция интересных сцылок, тысызыть.

Building an Android and iOS mobile mapping application using the ArcGIS API for Flex http://www.adobe.com/devnet/flash-builder/articles/mobile-mapping-app-arcgis.html
На примере показано, как построить аппликуху типа веб-карта для Android и iOS. Еще один кирпич в огород Silverlight и мешок навоза в огород Flash/Flex.

О, чуть не забыл. Важный но не всем очевидный момент для картостроителей — есть два способа использовать данные некоего слоя в веб-карте. Я имею в виду данные на уровне отдельных обьектов — точек, линий, полигонов. Первый и наиболее распространенный — это вытаскивание из таблицы БД нужной выборки и оформление ее в формат, понимаемый OpenLayers, например GeoJSON. Файл в этом формате подтаскивается аяксом на страницу с картой и яваскриптом рисуется слой (расставляются маркеры). Так работают Google Maps, Yandex Maps и прочие вроде
Такой способ вполне годится для того, что называется «пометки».

Второй, менее распространенный но более мощный способ заключается в подключении к веб-карте слоя типа WFS/WFS-T. FeatureLayer другими словами. Для этого нужен некий полноценный карт-сервер вроде
или специализированный сервис вроде
И, как всегда, есть промежуточные решения, например
находящийся на пересечении этих двух подходов.

Далее.

GeoREST is a web-centric framework for distributing geospatial data. It allows RESTful feature-based access to spatial data sources, including full editing capabilities, through a MapGuide server or directly via FDO.
Набор библиотек на C++ и минисервер HTTP для обеспечения REST протокола. Читает кучу форматов данных и выдает основные веб-форматы геоданных.

Google Vector Layers allows you to easily add one or more vector layers from a number of different geo web services to a Google Maps API based application.
и проект близнец
Яваскрипт, используя гуглокарты как подложку, позволяет выводить на нее векторные данные из разных источников.

Integrating PostGIS in Web Applications
Слайдовая презентация по связке PostGIS, OpenLayers, GeoServer, MapServer.

Creating GeoJSON Feature Collections with JSON and PostGIS functions
Демонстрация, как простым SQL запросом вынуть из PostGIS данные в формате GeoJSON.

OpenLayers demo using BDGA data - WFS-T and more
Яваскрипт, полнофункциональный пример редактирования геоданных — можно рисовать дороги и заполнять атрибутивные формочки.

OpenLayers WFS-T Using a GeoServer Hosted PostGIS Layer
Показано пошагово, как создать собственную аппликуху — веб-карту с функциями редактирования геоданных.

This workshop will introduce you to the OpenGeo Suite, a complete web mapping solution.
Семинар по построению комплексного решения для веб-карт из компонент: PostGIS, GeoServer, GeoWebCache, OpenLayers, GeoExt.

Ффух. Если все это одолеть, то становится понятен уровень текущего развития веб-картографии в рамках концепции «сделай сам и сервер и клиента».
А еще есть полновесные решения типа ArcGIS, менее полновесные типа MapGuide http://mapguide.osgeo.org/. А есть легковесные, типа Google Maps API и Yandex Maps API.

original post http://vasnake.blogspot.com/2012/12/web-maps-platform.html

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)