Створіть векторні плитки для полімап


14

Гаразд, напевно, мені погано, що я не потрапив до WhereCamp5280 і запитав у вуха FortiusOne безпосередньо, але який процес створення "плиток" GeoJSON для використання в Polymaps?

На прикладі Населення на сайті polymaps.org зазначається, що дані для демонстрації демонструються на Google AppEngine і натякає на "прокат власних" векторних плиток, але я не можу знайти більше інформації ...

Хтось отримав деяке розуміння, яким він може поділитися?

Спасибі!

Відповіді:


12

TileStache, безумовно, зробить це, зокрема постачальник PostGeoJSON в колекції додаткових провайдерів . Основна відмінність цього і того, що ми зробили для прикладів Polymaps - це відсікання багатокутника - побачивши, наскільки великий Аляска може отримати більш високий рівень масштабування, ми вирізали всі функції в прикладах Polymaps, щоб скоротити час завантаження тощо. Ми також розмістили їх із AppSpot, щоб додати заголовок Access-Control-Allow-Origin для дозволів між доменами.

PostGeoJSON не вирізається з коробки, але, як говориться в документах, я би радий розробити код далі, якщо є інтерес!

Оновлення: Схоже, що з Tilestache 1.9.0 постачальник векторів, як видається, надає перевагу постачальнику PostGeoJSON .


2
Дивіться коментар нижче: Я оновив постачальника PostGeoJSON, щоб бути більш зручним для полімап
Michal Migurski

4

Я, безумовно, замислювався над цим, оскільки це теж я хочу використати в Tile5 (http://tile5.org/). Я бачив, як Майк Босток (який працював зі Стаменом над створенням полімапсів) відповідав через Twitter на цю тему раніше, і ось посилання:

http://twitter.com/#!/mbostock/status/27659816563

Напевно хотілося б знайти хороше самостійне рішення проблеми. Кілька продуктів, схожих на кроки в правильному напрямку, це:

  • Tilestache (http://tilestache.org/)
  • Geocouch (https://github.com/vmx/couchdb)

Будемо дивитися це питання з цікавістю.

Ура,

Деймон.


Мабуть, я можу коментувати лише свою власну відповідь: /
Деймон Оельман

@Michal - Очевидно, хотілося б, щоб відсікання було додано до TileStache - будь-яка можливість, щоб він також обробляв параметр зворотного виклику? Я знаю, що JSONP не на смак кожному, але я думаю, що це було б дуже корисно тут ...
Деймон Оельман

Я точно можу додати відсікання до TileStache - занесуть його у список! Менш впевнений у зворотному дзвінку, здебільшого тому, що результати повинні бути повністю кешовані, і зворотний зв'язок це порушує. Можливо, я роблю спеціальний, окрім JSON, тому що це така спільна потреба ...
Michal Migurski

Хороша точка кешування на передній панелі JSONP. JSONP все ще має бути досить кешованим, надаючи зворотні виклики в URL-карті безпосередньо на обгортку функцій на виході. Це безумовно спричинить набряк кешу, хоча це буде біль. Я думаю, що я можу розвинутись на Github і пограти (час дозволяє) :)
Деймон Оельман,

Гаразд, я додав відсікання як опцію в TileStache: tilestache.org/doc/…
Michal Migurski

2

Ви можете використовувати ogr2ogr для створення статичного файлу GeoJSON для обслуговування , але, здається, на даний момент вам потрібно писати власні веб-служби, якщо ви хочете включити відсікання або будь-яку з інших функцій динамічної URL-адреси (рівень масштабування тощо) , і мені не відомий жоден інструмент плитки, який створив би кеш плитки набору даних, але знову це можна зробити досить легко за допомогою пакетного процесу та різних -clip*варіантів ogr2ogr . Хоча для векторних даних це, мабуть, не має сенсу, оскільки він би розрізав багатокутники на шматки на плитці, коли вони перекриваються, вам, мабуть, буде краще з пошуком обмежувального поля.


2

Дейв - Тут, мабуть, є прогалина. Гарний автономний різак для плитки json був би чудовим (і добре для тих, хто не використовує кахельну плитку). Ознайомтеся з модулем пітона Bloch (через М. Мігурського): https://github.com/migurski/Bloch (подумайте mapshaper.org у командному рядку та python).

Як зауважив Джейсон, процес введення даних досить простий і його можна здійснити досить швидко, використовуючи щось на зразок gdal2tiles в якості вихідного пункту та перенесення його у векторний світ.

Кріс

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.