Простий спосіб мати офлайн-веб-карту? [зачинено]


15

Моя мета - мати карту світу, вбудовану у веб-сторінку, але без доступу до Інтернету. Переважно лише набір плиток у поєднанні з деякою слизькою картою js-lib. Місце для зберігання насправді не є проблемою, а рівень максимального масштабування не потрібен.

Який найпростіший спосіб досягти цього?

Я знайшов проект, який, здається, відповідає законопроекту - Карти на палиці, але він, здається, мертвий?


2
Що саме означає "не потрібно максимальне збільшення"? Який масштаб / точність / дозвіл вам потрібен?
Mr_Chimp

2
mapnik (Windows) github.com/mapnik/mapnik/wiki/WindowsInstallation та використовувати localhost як URL (локальну машину)
Mapperz

Точність та дозвіл не важливі, країни та міста-мера достатньо, але, звичайно, я хочу, щоб це було якомога краще. Простота важливіша, я намагаюся уникати додаткових сервісів та баз даних.
тек

1
Якщо ви готові провести пару днів, налаштовуючи на Windows, тоді mapnik + postgis + postgresql + proj.4 + python 2.7 + ... - це варіант, але після того, як я переглянув це, я рекомендую вивчити відповідь TileMill нижче. Звучить набагато простіше.
ca0v

Це дійсно просто. Єдина проблема - це отримати дані карт і проблеми з ліцензуванням, пов’язані зі створенням системи офлайн- карт. Тобто більшість постачальників карт, які дозволяють безкоштовно користуватися (наприклад, Google), роблять це лише тоді, коли карта доступна для загального користування. Але це зовсім інше питання ... Я робив це лише для Великобританії, тому використовував відкриті дані ОС, які є вільними у використанні.
Mr_Chimp

Відповіді:


17

Я б рекомендував заглянути в TileMill, який створюють ті самі люди, які були важкими на Maps On A Stick. TileMill був або частиною Maps On A Stick, або тим, чим став Maps On A Stick - щось подібне. Я забуваю зв’язок. Все одно ...

TileMill дозволить вам завантажувати географічні дані, оформляти їх як вам подобається, а потім створювати набір плиток карти PNG для різноманітності для масштабування.

Вихід TileMill - це файл .mbtiles. Це просто база даних sqlite, в якій зберігаються PNG. Якщо ви працюєте в режимі офлайн, можливо, простіше витягти pngs до папки (за допомогою mbutil ), а не використовувати sqlite для доступу до них.

Якщо ваша карта досить проста (тобто мінімальна взаємодія), я б рекомендував використовувати Leaflet для вашої бібліотеки відображення.

Потім у листівці потрібно додати шар плитки (підказка: використовуйте tms, а не xyz).

Сподіваюся, що це допомагає.

Редагувати: кілька речей, які слід зазначити.

1) Ви повинні знати про обмеження ліцензування будь-яких даних карт, які ви використовуєте (див. Мій коментар до питання вище).

2) Якщо ви наблизитесь достатньо, щоб побачити дороги тощо, то очікуйте, що у вас є кілька ГБ плитки.


Отриманий доказ розробленої концепції! Мені доведеться вивчити питання ліцензування далі, але це, швидше за все, найпростіше рішення.
тек

2

Іншим варіантом буде щось на зразок mapwingis . Не потрібно плитки, вона буде читати форму файлів.


MapWinGIS дуже хороший, але питання вказане на веб-основі.
Mr_Chimp

Він сказав, що веб-сторінка, а не веб-сторінка, і не вказав доступу до Інтернету, тому я припустив, що це означає сервер (або локальний), що було б добре для mapwingis. Я використовував його у формі в базі даних Access і не можу уявити, що це буде складніше реалізувати на веб-сторінці.
Ян

2

Я знайшов новий проект під назвою OpenMapTiles , який значно полегшує наявність офлайн-карт.

Налаштування сервера плитки на вашій машині дуже просто. Встановіть Node.js (з npm) та виконайте два кроки у своїх документах: https://openmaptiles.org/docs/

Ви можете завантажити карти з їх веб-сайту (включаючи карту всієї планети, яка зараз становить ~ 44 ГБ): https://openmaptiles.org/downloads/


1

Якщо ви можете створити файл MBTiles (наприклад, за допомогою Tilemill), ви можете перетворити цей файл у просту сумку з плитками в вкладені папки, які відповідають очікуваному компоновці z / x / y з використанням tilestache-seed.pyсценарію, включеного в Tilestache. Ось я нещодавно зробив:

http://mike.teczno.com/img/hachure/labels/

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