Я работаю над приложением, которое отображает GeoJSON в карту OpenLayers.
Идея заключается в том, чтобы не загружать изображения PNG из внешних служб (OSM или Bing), а располагать геоинформацию в файле GeoJSON и отображать их в режиме реального времени. Из моих исследований эта технология, кажется, называется 'vector tile'
. Я взглянул на некоторые из сайтов ребят, такие как
http://openstreetmap.us/~migurski/vector-datasource/
и
http://mike.teczno.com/notes/postgreslessness-mapnik-vectiles.html (то же самое парень).
Кажется, его работа - это то, чего я хочу достичь, но я не совсем понимаю, как она работает.
Насколько я понимаю, поскольку я использую OpenLayers, клиент извлекает данные карты в формате GeoJSON и передает их в векторы, используя анализатор OpenLayers GeoJSON. Но это просто термины, используемые в этой технологии, которые я не понимаю.
В своем блоге он описал, что будет сервер, который предоставляет данные, называемые 'MapNik Vector Tile'
форматом. В чем разница между векторной плиткой и GeoJSON? это просто означает плиточный GeoJSON, который соответствует ограничительной рамке? Или это новый тип изображения?
Если вы посмотрите на его пример, вы можете заметить, что метки на дорогах выровнены с штрихами дорог. Я попытался сделать то же самое на OpenLayers, изменив код рендерера в OpenLayers, но я могу только поворачивать метки, но не заставлять их сгибать их вдоль дорог (например, когда дороги имеют углы, карта отображает метки в форме буквы «L». * * + очень хорошо отображается!
Похоже, Майк (автор блога) использует какую-то другую карту помимо OpenLayers, но я не могу понять, как он это сделал. Есть так много вопросов, но я хотел бы сначала понять вышесказанное.
источник
Ответы:
Идея переносить векторные данные вместо изображений и отображать их на стороне клиента не нова. Уже есть много инструментов / проектов, делающих это. Смотрите, например этот плагин в листовке , PolyMap , а также проект cartagen . Разработчик OpenLayer пытается внедрить его в (долгожданную) версию 3.0 . Каждая из этих инициатив использует свой собственный векторный формат листов (включая формат mapnik) - стандарт, безусловно, должен появиться в будущем.
Если вас интересуют принципы и некоторая соответствующая литература, вам следует взглянуть на эту отличную статью (да, я занимаюсь саморекламой :-):
Gaffuri, J., 2012. К веб-картографированию с векторными данными. В кн .: Сяо Н., Кван М.-П., Гудчайлд М.Ф., Шехар С. (ред.), География информатики. Том 7478 из лекций в области компьютерных наук. Springer Berlin Heidelberg, Берлин, Гейдельберг, Ch. 7, с. 87-101.
Бесплатная версия статьи доступна здесь . Чтобы обобщить это: Эффективное векторное веб-отображение = интеллектуальный формат для данных и стилей + обобщение, зависящее от масштабирования + (мозаичное ИЛИ пространственное индексирование). Вариант использования виден здесь .
источник
Насколько я понимаю, векторный формат листов используется для подачи рендера плиток, такого как Mapnik или TileMill, вместо использования базы данных, такой как postgresql.
Геометрия не отображается в реальном времени с помощью веб-клиента, такого как OpenLayers, пока нет, но это интересная область исследования :-)
источник