Layanan peta gratis untuk aplikasi web pribadi

12

Latar Belakang

Mencari untuk menampilkan peta (hanya untuk penggunaan internal) di halaman web. Aplikasi harus dapat menambahkan lapisan khusus (tanpa mengirim data ke host layanan peta):

  • Zona kota (ditentukan oleh shapefile)
  • Zona khusus (ditentukan oleh poligon, mungkin berdasarkan zona Kota)
  • Lokasi situs (ditentukan oleh lat / panjang)
  • Data kota tambahan (ditentukan oleh file bentuk)

Karena ini adalah perusahaan swasta, ia menghilangkan banyak layanan peta, termasuk: Google Maps, Bing, Yahoo! Peta, MapQuest, dan layanan bayar untuk penggunaan lainnya.

Perbarui # 1

Mungkin MapQuest adalah suatu kemungkinan .

Perbarui # 2

Persyaratan yang saya lupa sebutkan:

  1. Ada data tambahan (kota, kota, dusun) bukan bagian dari OpenStreetMap. Kota-kota ini harus dimasukkan tanpa memberikan data kepada penyedia peta.
  2. Ada berbagai lapisan (seperti lokasi karyawan) yang juga harus ditampilkan, tanpa memberi tahu penyedia peta tempat menemukan data (yaitu, data akan berada di belakang firewall).

Perkembangan zaman

Saat ini, saya belum dapat menemukan server yang memenuhi persyaratan saya, jadi saya telah mengikuti instruksi di berbagai situs web untuk menginstal server web Mapnik:

Pada titik ini, saya memiliki berbagai bagian data:

  • Data kota dan kota (file bentuk dimuat ke PostGIS)
  • Data Bumi Alami (file bentuk; tidak dimuat)
  • Lembar gaya Mapnik (berbagai file; tidak dimuat)

GeoServer

Saya mencoba menginstal GeoServer (sebelum Mapnik) tetapi menemukan dokumentasi yang kurang, alat administrasi berbasis web menjadi rumit untuk dikonfigurasi, dan respons pada mesin 2 GHz menjadi sangat lambat (10 detik untuk membuat ubin dengan single layer: jalan), dan standar estetika hambar. (Saya tahu saya bisa menggunakan stylesheet untuk menghidupkan presentasi, tetapi itu berarti harus menemukan [atau membuat !] File yang sesuai, menginstalnya, mengujinya, dan sebagainya.)

Persyaratan

Persyaratan teknis meliputi:

  • Kota, jalan, badan air (danau, sungai, lautan)
  • Batas-batas politik (provinsi, negara)
  • Kualitas tinggi (mirip secara visual dengan Google Maps, MapQuest, dll.)
  • Uptime tinggi
  • 900913 proyeksi (mirip dengan Google Maps)
  • Ubin responsif (di bawah 0,1 detik per ubin)
  • Cakupan data jalan yang sangat baik untuk Kanada
  • Berguna untuk peta yang licin (kompatibel dengan OpenLayers)
  • 10.000 permintaan ubin per hari
  • Gratis untuk penggunaan komersial (atau pribadi), atau kurang dari $ 2000 per tahun?

Contoh yang baik

Ini adalah contoh yang bagus (OpenLayers) tentang apa yang ingin saya capai:

Contoh buruk

Contoh yang tidak ingin saya capai:

Contoh data tidak lengkap:

tautan yang berhubungan

Pertanyaan

Server WMS, WMTS, atau WFS apa yang menawarkan fungsionalitas yang diperlukan?

Dave Jarvis
sumber

Jawaban:

11

Saya tidak yakin mengapa Anda mengecualikan layanan seperti Google Maps, terutama karena lalu lintas yang Anda harapkan tidak setinggi itu (Google mulai mengisi daya setelah 25.000 tampilan peta (tampilan peta Anda akan jauh lebih rendah dari 10.000): https://developers.google. com / maps / faq # usage_pricing ). Yang Anda butuhkan pada dasarnya adalah dua hal:

  1. Seseorang memberi Anda peta slippy Web. Ini bisa Google Maps, Bing, MapQuest, Cloudmade dll. Atau Anda bisa menjalankan server ubin sendiri dan menggunakan data OpenStreetMap.
  2. Merender data vektor Anda sendiri di sisi klien (menggunakan javascript) di atas peta Web. Ada beberapa pustaka sumber terbuka yang dapat melakukan itu (OpenLayers, Leaflet, Polymaps ...).

Beberapa petunjuk untuk menyelidiki lebih lanjut:

Igor Brejc
sumber
8
Persyaratan layanan Google Maps melarang menampilkan peta di server pribadi (yaitu, server harus terbuka untuk masyarakat umum). developers.google.com/maps/terms ... "Implementasi Maps API Anda tidak boleh hanya beroperasi di jaringan internal." Jadi itu mengesampingkannya.
Dave Jarvis
Oke, itu masuk akal. Dalam hal ini OSM adalah jalan yang harus ditempuh.
Igor Brejc
3

Openlayers dengan OpenStreetmap tampaknya menjadi pilihan gratis terbaik Anda, maka Anda akan menambahkan layer Anda dengan WMS (seperti Mapserver atau Geoserver). Anda juga dapat menggunakan Google Maps dengan lisensi.

Saya memiliki banyak pengalaman dalam hal ini karena saya telah mengembangkan sejumlah situs, beberapa dari awal dengan ubin khusus.

Saya belum pernah bekerja dengan geoserver tetapi dengan Mapserver. Anda tidak dapat mengharapkan server untuk memberikan jutaan fitur secara real time. Saya akan mengatakan bahwa kinerja ini harus selalu ditingkatkan dengan menyederhanakan data ke tingkat detail (sesuai dengan skala atau zoom) dan mungkin membakar data dasar ke ubin.

Sekarang saya sedang mengerjakan Peta Mobnetics

Ini menggunakan Openlayers, ubin OSM, postgreSQL, dan Java. Keindahannya adalah ia beradaptasi dengan data GIS apa pun (dengan menggunakan metadata) dan kemudian memungkinkan pengguna untuk menanyakan data. Ini sedang dalam pengembangan berkelanjutan dan pada saat itu hanya memiliki data tambahan untuk Portugal (sebagai uji kasus).

Hal berikutnya yang ingin saya lakukan adalah menawarkan kepada klien hosting data gis yang dapat mereka setup dan perbarui dari jarak jauh, sehingga klien dapat bekerja di situs sebagai milik mereka.
Akan menyenangkan untuk memiliki klien karena Anda sebagai perusahaan saya mengembangkan situs ..

Kalau tidak, saya juga bisa melakukan instalasi kustom dari situs ini di server Anda dan memeliharanya dari jarak jauh. Kami telah melakukan ini pada beberapa klien.

salam Hormat,

Joaquim Muchaxo

muchaxo
sumber
Mungkin sedikit sulit, tetapi apakah Anda tahu ke mana id pergi untuk mempelajari lebih lanjut tentang pengaturannya?
QGISPengguna
1

Saya pikir kata open source digunakan secara adil di utas ini;)

Dua opsi lagi:

pgager
sumber
1
Tak satu pun dari ini adalah pilihan, karena pertanyaannya adalah untuk layanan pribadi gratis
Ryan Garnett
1

Anda tentu saja dapat menggunakan GIS yang dibayar. Saya bekerja di dewan dan kami menggunakan Exponare. Exponare mudah dan berfungsi dengan baik, tetapi akan dikenakan biaya.

ArcMap adalah yang paling mewah, dan itu adalah perangkat lunak Dekho melakukan apa yang Anda inginkan.

JIKA Anda ingin melempar sendiri, lihat http://opengeo.org/ untuk tumpukan lengkap dalam model yang didukung.

Pemahaman saya untuk melakukannya sendiri adalah melakukan hal berikut:

  1. Dapatkan data Anda dalam basis data spasial, yaitu PostGIS
  2. Pilih server ubin / vektor Anda (PostGIS, GeoServer) untuk menerbitkan WFS / WMS
  3. Pilih ujung depan web Anda (GeoEXT, openlayers)

Anda dapat menginstal banyak dari ini di Windows dengan https://trac.osgeo.org/osgeo4w/ (paket dikelola dan semua). Saya yakin Ubuntu memiliki paket, jika tidak resmi maka dalam PPA.

Alex Leith
sumber
1

Opsi yang sepenuhnya gratis memerlukan integrasi beberapa perangkat lunak dan openstreetmap memiliki tautan ke perangkat lunak menggunakan data gratisnya. Saya akan merekomendasikan melihat ke Mapbox API dan alat-alat sebagai Mapbox studio, itu gratis untuk penggunaan rendah dan skala yang sangat baik, dengan ponsel asli, bereaksi asli, Offline juga kemungkinan, dapat menggunakannya dengan Apis seperti Openlayers dan leaflet. Grid layer interaksi dan styling ubin vektor adalah fitur unik dan kuat dari Mapbox, namun tidak berorientasi pada WFS atau WMS, dalam hal ini juga menggunakan Postgresql dan Openlayers. Postgres memiliki fungsi Gml di luar kotak sehingga untuk menggunakan WFS hanya perlu menambahkan beberapa header ke permintaan, namun untuk implementasi Ogc penuh gunakan geoserver atau Mapserver

muchaxo
sumber