Aplikasi web peta ubin ubin offline


23

Saya tidak yakin apakah akan memposting ini di sini atau di Stackoverflow, karena ini semacam crossover. Biarkan saya mencobanya.

Dalam standar HTML5 yang diusulkan, ada opsi untuk menyimpan data aplikasi web dalam cache lokal menggunakan manifes cache . Saya ingin menggunakan teknik ini untuk aplikasi peta web ubin offline dan melakukan prototipe cepat di sini berdasarkan instalasi standar Geoserver.

Saya baru saja merobek halaman klien OpenLayers yang dihasilkan dari salah satu lapisan default dan mengubah <html>tag menjadi

<html xmlns="http://www.w3.org/1999/xhtml" manifest="cache.manifest">

Dan menciptakan file cache.manifestyang mudah dibaca

CACHE MANIFEST
http://lima.schaaltreinen.nl:8080/

Yang seharusnya, dalam pemahaman saya yang terbatas tentang masalah ini, secara lokal menyimpan semua yang dimuat dari URL itu: semua ubin dan OpenLayers JS. Pada kenyataannya, saat panggilan pertama di Firefox, ia meminta saya untuk mengizinkan penyimpanan lokal, tetapi ketika saya menekan refresh - baik online atau offline - halaman akan menyatakan bahwa objek OpenLayers tidak ditentukan. Sepertinya itu belum memuat OpenLayers JS.

Adakah yang berhasil melakukan aplikasi peta web berbasis ubin OpenLayers yang berfungsi? Atau petunjuk tentang cara menyelidiki ini lebih lanjut?

Jawaban:


9

Anda mungkin tertarik dengan proyek Maps pada Stick dan MapBox iPad. (penafian: merancang yang pertama, yang terlibat dalam yang terakhir. Namun, keduanya berlisensi BSD, dan format ubin yang mendasarinya, disebut " .mbtiles", berbasis SQL.)

Maps on a Stick adalah peta OpenLayers offline. Alasan utama untuk menggunakan database / server portabel alih-alih penyimpanan sisi klien adalah bahwa menggunakan browser sebagai penyimpanan data yang besar tidak cukup berhasil dan mengisi dan mengindeks cache dapat menjadi mahal.


Solusi menarik, bukan apa yang saya pikirkan tetapi kelihatannya bisa diterapkan. Seberapa mudah atau sulit untuk memuat MapBox / Maps pada Tongkat dengan lapisan ubin khusus?
mvexel

1
Ini relatif sederhana: ada beberapa alat - importir berbasis C ( github.com/developmentseed/mb_tiles_importer ), versi gdal2tiles yang menampilkan mbtiles ( github.com/developmentseed/gdal2mb ), dan alat GUI yang akan datang.
tmcw

4

Berpikir Anda perlu membuat tilecache Anda sendiri di 'localhost' lihat http://code.google.com/p/cumberland/wiki/TilePyramiderAndOpenLayers

Contohnya

    Using vmap
    http://localhost:8081/vmap0/levelzero/0/0.png
    The tile near the middle of the tile set in the third zoom level of vmap0.
    http://localhost:8081/vmap0/leveltwo/3/4.png
    The tile near the middle of the tile set in the fifth zoom level of landsat2000.
    hhttp://localhost:8081/vmap0/landsat2000/1/8500/8500.png
Source:
    The tile at the origin of the tile set in the first zoom level of basemap.
    http://www.osgeo.org/services/basemap/L1/0/0.png

Catatan: tidak boleh memiliki spasi


Ini berguna tetapi memerlukan server web lokal, yang mungkin tidak selalu layak, misalnya ketika Anda ingin dijalankan di iPhone / iPad. Secara umum, saya mencari untuk mencapai ini tanpa persyaratan di sisi klien selain HTML5 / cache manifest savvy browser web.
mvexel


1
Saya ditautkan ke halaman itu di pertanyaan awal. Saya tahu ini jalan yang harus dilalui, tetapi saya mencoba mencari tahu apakah itu layak.
mvexel

3

Satu kerumitan yang tampaknya muncul dalam artikel tentang ini adalah:

Perhatikan bahwa tipe MIME dari file manifes adalah teks / cache-manifes.

Dan contoh-contohnya semua sepertinya mencantumkan file-file spesifik untuk di-cache (tapi saya mungkin perlu membaca lebih lanjut).


Itu satu hal yang tidak jelas bagi saya: apakah Anda perlu memasukkan URL konkret tertentu atau Anda dapat menggunakan awalan URL. Saya belum bisa menguji ini. Adakah yang punya?
mvexel

3

Mungkin pendekatan lain: Geopublisher http://www.geopublishing.org/ dapat menerbitkan peta Anda untuk penggunaan offline. Geopublisher adalah perangkat lunak Desktop yang memungkinkan Anda untuk menyatukan data vektor dan raster serta membuat peta digital. Kemudian Anda dapat mengekspor peta ini sebagai aplikasi Java yang berdiri sendiri. Bahkan membuat file autostart dll. Dan tidak memerlukan instalasi Java pada komputer yang ditargetkan.

UPDATE 2018: Geopublisher tidak aktif dikembangkan lagi.


catatan: Tujuannya adalah dalam bahasa Jerman meskipun urlnya ke versi bahasa Inggris situs. Untuk memperbaiki cari tautan [bahasa Inggris] di kolom navigasi sebelah kiri.
matt wilkie
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.