2013-07-13 19 views
3

Я искал, но не могу найти решение.Render 2500 geoJSON polygons на карту листовки

У меня есть файл GeoJSON размером 170 МБ. Он содержит около 2500 полигонов. Как-то мне нужно отобразить его на карточке листовки. Очевидно, в таком размере у меня нет шансов.

Что будет самым простым способом визуализации этих данных? Могу ли я создать полный прозрачный png, который можно просто визуализировать по карте мира. Огромный размер обусловлен сложностью и количеством полигонов. На данный момент мне не нужно, чтобы это было интерактивным.

Спасибо, Brian

ответ

13

Самый простой способ для создания собственных фрагментов карты на основе этих данных. Есть несколько способов добиться этого, но я предлагаю вам использовать TileMill. Он бесплатный и очень прост в использовании. Таким образом, в основном вы бы:

  • Использование TileMill и указать файл GeoJSON как источник данных

  • Настройки как карта должна быть отображена (как цвет многоугольников) с помощью специального CSS- как язык внутри TileMill

  • Сформировать плитки

  • Загрузите новый TileLayer в вашей Листовка карте, которая ссылается на файлы

Я на самом деле написал учебник некоторое время назад, что использует .shp вместо GeoJSON, но они должны быть достаточно похожи:

http://build-failed.blogspot.pt/2012/03/custom-map-tiles-part-2-tilemill.html

+0

этих сообщений в блоге есть неоценимая информация – Jonno

+0

TileMill теперь в https://github.com/tilemill-project/tilemill и до сих пор в V0.10 - преемник MapBox Studio - см https: //www.mapbox.com/mapbox-studio/ –

7

Я не могу спорить с рекомендацией psousa в. Для простой презентации TileMill - отличная идея.

Однако, если вы хотите наложить ваши многоугольники на другую карту, я считаю, что единственный способ - использовать TopoJSON и D3 Майка Бостока.

Основная TopoJSON страница: https://github.com/mbostock/topojson/wiki

Пример в масштабе вы говорите о: http://bl.ocks.org/mbostock/4206573

Вам придется ходить по магазинам вокруг отличные примеры Майка на GitHub, чтобы посмотреть, как совместить листовку наложение D3.

В настоящее время я делаю это успешно с сотнями сложных полигонов. Не нужно было врываться в тысячи ... еще.

+1

TopoJSON отличается тем, что у вас есть смежные полигоны, например, штаты/города/страны, что я не уверен в этом. – psousa

+1

«единственный путь» - это смелое требование. –

+1

@ EricHartford Я согласен. Не знаю, имеет ли Mapbox решение для этого – arcsum

3

Просто еще одно скромное предложение. Я успешно выполнил загрузку 10000+ полигонов и атрибутов запросов, развернув свой собственный экземпляр Geoserver и PostgreSQL DB + PostGIS и создав WMS (а не WFS), как вы можете видеть на изображении.

10000+ polygons

Но это не просто реализовать, особенно, если данные GeoJSON является оригинальным (и только) данные

В этой связи я хотел бы ответ второго psousa, чтобы использовать TileMill.

Смежные вопросы