Aplikasi web kami mencakup kemampuan pemetaan sederhana (saat ini hanya marker dan overlay KML pada Google Map yang disematkan). Ini bekerja dengan cukup baik; satu-satunya batasan nyata yang kami hadapi adalah hamparan KML yang melampaui batasan ukuran & kompleksitas Google untuk KML .
Kami sedang mempertimbangkan untuk berdiri di server kami sendiri (mis. GeoServer atau ArcGIS Server); tapi itu sepertinya langkah besar hanya untuk melayani (misalnya) 15 MB KML ketika batas Google adalah 10 MB.
Saya memerlukan pemeriksaan kewarasan: Apakah ada jalan tengah antara Google gratis dan API mudah untuk overlay KML, dan menyiapkan server ubin saya sendiri?
google-maps
kml
Ramuan Caudill
sumber
sumber
Jawaban:
Karena Anda telah berinvestasi dalam pengembangan Google Maps, saya sangat menyarankan mendorong semua data ke dalam Google Fusion Tables, yang kemudian dapat diuraikan ke peta dengan cara yang sama seperti KML dengan kinerja luar biasa (lihat aplikasi WNYC Fusion Tables ). Anggap saja upgrade ke KML tanpa harus secara drastis memodifikasi front-end.
sumber
Anda dapat memecah KML Anda menjadi beberapa KML dengan KML Induk yang mereferensikan kml yang lebih kecil. Setidaknya ini akan membawa ukuran file Anda ke tingkat yang terhormat dan memungkinkan Anda untuk merujuk set data yang jauh lebih besar sebagai KML.
Jujur KML benar-benar hanya baik untuk kumpulan data kecil dengan beberapa fitur dan atribut terkait. Saya tidak akan mendekatinya sebagai sumber data file. Jika Anda melihat file-file ini menjadi lebih besar, saya akan melihat tipe data lain, atau pasti menuju rute GeoServer / MapServer untuk kumpulan data yang didistribusikan.
sumber
Jika Anda belum menginvestasikan terlalu banyak waktu di Google Maps API, Anda dapat beralih ke OpenLayers yang memiliki parser KML sisi klien yang dapat membaca file KML Anda sendiri - lihat contoh di bawah ini:
http://openlayers.org/dev/examples/kml-layer.html
Namun untuk file 15MB ini kemungkinan akan membuat browser terhenti. Mungkin sangat lambat melalui server Google juga ketika Anda mendekati batas ukuran file.
Apakah benar-benar diperlukan tingkat detail 15MB atau dapatkah Anda menyederhanakan KML tanpa kehilangan terlalu banyak informasi?
Apakah Anda perlu mengakses vektor / geometri di sisi klien? Bisakah data ini disajikan sebagai gambar?
Jika tidak satu pun dari hal ini dimungkinkan, Anda harus melihat beberapa jenis perangkat lunak penyajian peta. Bersama GeoServer dari ArcGIS Server Anda dapat mempertimbangkan MapServer untuk melayani KML, atau sebagai WFS. Keuntungan menggunakan mapserver adalah bahwa permintaan hanya akan mengembalikan data di dalam peta - mengurangi lalu lintas jaringan dan mengurangi waktu muat.
sumber
Jika Anda menggunakan versi 3, Anda dapat menghapus semua informasi atribut kecuali untuk pengidentifikasi unik dan meminta informasi melalui panggilan ajax ke layanan web setiap kali pengguna mengklik fitur. Jika Anda memiliki poin lebih dari 10 MB, mungkin ide yang baik untuk melakukan semacam pengelompokan alih-alih menampilkan semua poin itu sekaligus. Anda juga dapat memisahkan overlay tanah Anda menjadi file KML yang terpisah.
sumber
Sudahkah Anda mencoba Tabel Google Fusion. http://www.google.com/fusiontables/public/tour/index.html
Anda dapat memuat hingga 100mb data secara gratis.
sumber
MapLarge memiliki solusi menarik - mereka dapat mereplikasi data Anda di server mereka dan kemudian melakukan pengangkatan berat ubin dengan cepat menggunakan perangkat lunak berpemilik mereka. Mereka menawarkan Javascript API yang kemudian dapat overlay ini pada peta dasar dari Google Maps, OpenLayers, dll.
Lihat beberapa contohnya - kecepatannya mengesankan:
Ini tidak gratis, tetapi itu bisa menjadi pilihan yang baik untuk seseorang yang tidak ingin masalah & biaya berdiri server terpisah untuk menghasilkan lapisan ini.
sumber