Saya telah berhasil membangun aplikasi pemetaan web yang bagus menggunakan ubin yang dibuat dari GeoWebCache dan kisi-kisi kustom, tetapi sekarang saya perlu menambahkan overlay ke peta dasar. Satu-satunya interaktivitas yang saya butuhkan adalah jendela informasi pop-up sederhana yang hanya berasal dari salah satu atribut.
Secara default dataset overlay adalah ESRI Shapefile yang 180Mb, sejak itu saya berhasil menyederhanakan dataset menggunakan ST_SimplifyPreserverTopology yang telah menurunkan ukuran ESRI Shapefile ke 28Mb. Namun, sebagai file GeoJSON ini masih 78Mb yang terlalu besar.
Saya kemudian mencoba CartoDB dan memuat data ke dalam tabel dan kemudian menambahkan vectorlayer di openlayers tetapi volume data masih terlalu besar dan halaman HTML macet.
Saya kemudian mencoba GIS Cloud dan WMS eksternal tetapi itu terbatas pada WGS84 dan tidak memiliki opsi info fitur.
Saya kemudian mulai melihat Topojson yang menurut saya akan bekerja dengan sangat baik pada dataset saya tetapi saya tidak berpikir ada cara untuk memuat topojson ke peta di OpenLayers 2.12 yang perlu saya gunakan.
Pilihan saya yang lain adalah UTF-Grid, jadi saya memuat data ke tilemill dan mengekspor MbTiles yang bisa saya ekstrak menggunakan mbutil. Tetapi tentu saja UTF-Grid hanya mendukung EPSG: 3857 (web mercator) yang berbeda dari proyeksi saya, EPSG: 27700. Jadi semua file .json diberi nama berbeda dari ubin cache yang mendasari saya dari geowebcache.
Apakah ada cara untuk membuat Grid-UTF tetapi dalam proyeksi yang berbeda?
Jadi itulah latar belakangnya dan saya merasa telah mencoba sebagian besar opsi yang saya tahu.
Jadi secara sederhana saya memerlukan lapisan overlay interaktif dalam peta OpenLayers 2.12 tetapi saya tidak dapat menggunakan server seperti GeoServer / Mapserver atau TileStache dll dan saya tidak dapat memiliki skrip sisi server seperti PHP.
Adakah yang bisa menawarkan saran lain ??
Terima kasih
Jawaban:
Memperluas komentar asli saya:
Topojson dapat bekerja dengan baik dengan openlayers 2.10 (Anda benar-benar mengkonversi topojson ke geojson sebelum menggunakannya). Tapi saya tidak yakin itu akan menyelesaikan masalah Anda karena mungkin masih terlalu besar untuk diproses di sebagian besar browser. Contoh menggunakan topojson di openlayers 2, berdasarkan contoh openlayers geojson dan beberapa data yang saya gunakan dalam posting blog .
http://www.gisky.be/cyclists/ol-topojson.html
Bit aktual yang penting hanyalah baris kedua:
Baris ini membangun objek geojson (fusiegem) dari objek data yang topojson.
sumber
Ini terdengar seperti pekerjaan untuk D3 - http://bl.ocks.org/mbertrand/5218300
sumber
Anda bisa membagi data ke file GeoJSON dan menamainya menurut ubin. Setelah peta dimuat, Anda dapat meminta ubin yang terlihat dan menggunakan nama / url / koordinatnya untuk meminta file GeoJSON yang sesuai, mencocokkan satu file per ubin.
Bagian yang sulit adalah membuat file. Untuk ini, Anda pasti perlu menggunakan alat. Setelah file dibuat, mereka dimuat sesuai kebutuhan dan dalam potongan kecil sehingga mereka tidak akan membanjiri browser. Rasa sakit lain di sini adalah berurusan dengan level zoom. Anda harus memutuskan fitur mana yang terlihat dari level mana dan membuat file Anda sesuai.
sumber