Cara sederhana untuk memiliki peta berbasis web offline? [Tutup]

15

Tujuan saya adalah memiliki peta dunia yang tertanam di halaman web, tetapi tanpa akses ke internet. Lebih disukai hanya seperangkat ubin dalam kombinasi dengan beberapa peta js-lib yang licin. Ruang penyimpanan sebenarnya tidak menjadi masalah, dan tingkat zoom maks tidak diperlukan.

Apa cara termudah untuk mencapai ini?

Saya menemukan proyek yang tampaknya sesuai dengan tagihan - Peta pada tongkat, tetapi tampaknya sudah mati?

tek
sumber
2
Apa sebenarnya yang dimaksud dengan "maks zoom tidak diperlukan"? Skala / akurasi / resolusi apa yang Anda butuhkan?
Mr_Chimp
2
mapnik (Windows) github.com/mapnik/mapnik/wiki/WindowsInstallation dan gunakan localhost sebagai url (mesin lokal)
Mapperz
Keakuratan dan resolusi tidak penting, negara dan kota walikota cukup, tetapi tentu saja saya ingin itu sebaik mungkin. Kesederhanaan lebih penting, saya mencoba menghindari layanan dan database tambahan.
tek
1
Jika Anda bersedia menghabiskan beberapa hari mengkonfigurasi pada windows maka mapnik + postgis + postgresql + proj.4 + python 2.7 + ... adalah pilihan tetapi setelah melewati itu saya akan merekomendasikan meneliti jawaban TileMill di bawah ini. Kedengarannya lebih mudah.
ca0v
Ini sangat sederhana. Satu-satunya masalah adalah mendapatkan data peta dan masalah lisensi yang terlibat dengan pembuatan sistem peta offline . Yaitu sebagian besar penyedia peta yang memungkinkan penggunaan gratis (misalnya google) hanya melakukannya ketika peta tersedia untuk umum. Tapi ini pertanyaan yang sangat berbeda ... Saya hanya melakukannya untuk Inggris, jadi gunakan OS Open Data yang bebas digunakan.
Mr_Chimp

Jawaban:

17

Saya akan merekomendasikan melihat ke TileMill yang dibuat oleh orang yang sama yang workign di Maps On A Stick. TileMill adalah bagian dari Maps On A Stick, atau seperti itulah Maps On A Stick menjadi - sesuatu seperti itu. Saya lupa hubungannya. Bagaimanapun...

TileMill akan memungkinkan Anda memuat data geografis, gaya sesuai keinginan Anda, lalu buat satu set petak peta PNG untuk variasi tingkat zoom.

Output dari TileMill adalah file .mbtiles. Ini hanya database sqlite yang menampung PNG. Jika Anda bekerja offline, mungkin lebih mudah untuk mengekstrak pngs ke folder (menggunakan mbutil ) daripada menggunakan sqlite untuk mengaksesnya.

Jika peta Anda cukup sederhana (yaitu interaksi minimal), saya sarankan menggunakan Leaflet untuk perpustakaan pemetaan Anda.

Dalam leaflet, Anda perlu menambahkan layer tile (petunjuk: gunakan tms daripada xyz).

Semoga itu bisa membantu.

Sunting: Beberapa hal yang perlu diperhatikan.

1) Anda harus mengetahui pembatasan lisensi dengan data peta yang Anda gunakan (lihat komentar saya pada pertanyaan di atas).

2) Jika Anda cukup dekat untuk melihat jalan dll maka diharapkan memiliki beberapa GB ubin.

Mr_Chimp
sumber
Punya bukti konsep dan berjalan! Saya harus menyelidiki masalah lisensi lebih lanjut, tetapi kemungkinan besar ini adalah solusi termudah.
tek
2

Pilihan lain adalah sesuatu seperti mapwingis . Tidak perlu ubin, itu akan membaca shapefile.

Ian
sumber
MapWinGIS cukup bagus tapi pertanyaannya ditentukan berbasis web.
Mr_Chimp
Dikatakan PAGE web, bukan berbasis web, dan ditentukan tidak ada akses internet jadi saya menganggap itu berarti berbasis server (atau lokal), yang akan baik-baik saja untuk mapwingis. Saya sudah menggunakannya dalam formulir di database Access dan tidak bisa membayangkan akan lebih sulit untuk diterapkan di halaman web.
Ian
2

Saya telah menemukan proyek baru bernama OpenMapTiles , yang membuatnya lebih mudah untuk memiliki peta offline.

Menyiapkan server ubin pada mesin Anda sangat mudah. Instal Node.js (dengan npm) dan ikuti dua langkah dalam dokumen mereka: https://openmaptiles.org/docs/

Anda dapat mengunduh peta dari situs web mereka (termasuk peta seluruh planet, yang sekarang ~ 44 GB): https://openmaptiles.org/downloads/

Andrei M.
sumber
1

Jika Anda dapat membuat file MBTiles (misalnya dengan Tilemill), maka Anda dapat mengonversi file itu menjadi sekumpulan ubin sederhana di folder bersarang yang sesuai dengan tata letak z / x / y yang diharapkan menggunakan tilestache-seed.py, skrip yang disertakan dengan Tilestache. Inilah yang saya buat baru-baru ini:

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

Michal Migurski
sumber