Alamat geocode sekali di google maps, simpan dalam database, baca hasil geocode dari sana

13

Apakah mungkin melakukan geocode alamat, menyimpan hasilnya dalam database, lalu membaca hasilnya dari sana?

Saya menggunakan peta Google yang melakukan geocoding ratusan alamat yang jelas-jelas mencapai batas geocode. Setelah di-geocode, alamatnya sangat tidak mungkin untuk berubah lagi sehingga masuk akal untuk menyimpan hasil geocode dalam database.

Saya menggunakan Wordpress sebagai platform jadi jika mungkin saya ingin menyimpan hasil geocode sebagai bidang dalam database yang berhubungan dengan perusahaan tertentu.

KLIEN TELAH SECARA KHUSUS MEMINTA GOOGLE UNTUK DIGUNAKAN DI SELURUH PROYEK YANG MENGATAKAN YAHOO ATAU APA SAJA LAINNYA.

UPDATE: Semua orang mengatakan tentang apa yang saya minta bertentangan dengan TOS mereka tetapi bukankah contoh mereka sendiri melakukan hal yang sama - developers.google.com/maps/articles/phpsqlgeocode ?

rampok
sumber
6
Harap baca syarat dan ketentuan 10.0.3 (a, b, c) developers.google.com/maps/terms Anda tidak boleh menggunakan Konten untuk membuat basis data "tempat" independen atau informasi daftar lokal lainnya.
Mapperz
3
Yahoo PlaceFinder developer.yahoo.com/geo/placefinder memiliki Syarat dan Ketentuan yang lebih baik - API Placefinder tidak memiliki batasan yang disebutkan tentang menyimpan data lokasi yang dikembalikan.
Mapperz
@Mapperz Ok terima kasih. Apakah mungkin untuk menyimpan ke tabel fusi google dan entah bagaimana menautkannya ke wordpress?
Rob
Apakah Anda memerlukan data pengiriman ZIP + 4? Jika demikian, itu mengubah jawaban. Jadi, apakah Anda akan mengirimkan sesuatu ke alamat atau hanya menggunakan data geografis untuk lokasi dan posisi?
Jeffrey
1
Tunggu sebentar ... Saya cukup yakin itu masih melanggar TOS dengan API Yahoo juga.
Matt

Jawaban:

5

Menurut Ketentuan Layanan YahooMaps , Anda tidak diizinkan untuk menyimpan data yang Anda kumpulkan dari menggunakan API. (khusus viii) "ANDA TIDAK AKAN:"

(vi) menggunakan Yahoo! Maps APIs dengan informasi lokasi yang berumur kurang dari 6 jam dan berasal dari perangkat GPS atau perangkat penginderaan lokasi lainnya;

(vii) menggunakan Yahoo! Maps APIs dengan informasi lokasi yang berasal dari perangkat GPS atau perangkat penginderaan lokasi lainnya di mana informasi tersebut tidak diunggah ke aplikasi atau layanan Anda secara langsung oleh pengguna akhir;

(viii) menyimpan atau mengizinkan pengguna akhir untuk menyimpan citra peta, data peta atau informasi lokasi yang di-geocode dari Yahoo! Maps APIs untuk penggunaan masa depan;

(ix) menggunakan geocoder yang berdiri sendiri untuk segala penggunaan selain menampilkan Yahoo! Peta atau titik tampilan di Yahoo! Peta;

(x) mempublikasikan atau menampilkan, atau mengizinkan pengguna lain untuk mempublikasikan atau menampilkan, informasi lokasi yang di-geocode menggunakan Yahoo! API Peta;

Ini konsisten dengan apa yang saya lihat di TOS dari Google, Bing, MapQuest, dan Yahoo. Alasan untuk ini adalah bahwa mereka mendapat manfaat langsung dari dapat menyajikan hasil kepada pengguna akhir. Jika logo dan "peta oleh google" tidak ditampilkan, mereka tidak mendapatkan "kredibilitas jalanan" atau paparan apa pun. Dengan demikian, insentif mereka untuk menyediakan layanan hilang. Mereka membuatnya sangat mudah bagi Anda untuk menggunakan layanan (sangat mudah) tetapi mereka juga menempatkan batasan yang masuk akal. Selama Anda menggunakan data mereka untuk menghasilkan uang (bahkan jika mereka hanya mendapatkan eksposur) Anda berada dalam ketentuan TOS mereka. Jika Anda mencoba menghindari persyaratan tersebut, Anda berisiko terputus kapan saja. Bukan cerita bahagia jika layanan Anda didasarkan pada layanan mereka .

Saya tidak pernah menggunakan meja kerja FME, terlihat sangat kuat (dan pada saat yang sama, lebih kompleks dari yang dibutuhkan), tetapi masih akan tunduk pada TOS penyedia data. Bandingkan alur kerja FME dengan permintaan HTTP sederhana ini ke LiveAddress API oleh SmartyStreets:

https://api.qualifiedaddress.com/street-address/?street=1600+Ampytheatr+Pkway+Mountain+Vew+ca&auth-token=23350695

Dibutuhkan alamat berikut dan menstandarisasinya (termasuk koreksi ejaan yang jelas), memverifikasi bahwa itu dapat dikirimkan, dan kemudian melakukan geocode dan memecah alamat menjadi berbagai komponen yang mengeluarkannya sebagai aliran JSON. (jika Anda tidak membaca JSON, Anda dapat mencolokkan output ke formatter JSON untuk hasil yang lebih mudah dibaca. (Jangan ragu untuk menggunakan data Anda sendiri di string URL juga, untuk tujuan pengujian)

1600 Ampytheatr Pkway Mountain Vew, CA

menjadi

1600 Amphitheatre Pkwy Mountain View, CA 94043-1351

Ada sejumlah API komersial yang tersedia yang melakukan verifikasi alamat, SmartyStreets kebetulan saya memarkir mobil saya setiap pagi. (Cdyne, StrikeIron, QAS adalah beberapa layanan lain yang menawarkan layanan serupa.) Layanan komersial ini menawarkan kepada Anda penggunaan data mereka yang tidak terikat oleh KL yang terlalu ketat. Anda pada dasarnya dapat menggunakan dataset yang dihasilkan untuk apa saja yang kurang bersaing langsung.

Anda benar bahwa data geocoding tidak sering berubah dan merupakan sesuatu yang tentu saja bisa di-cache secara lokal, atau di dalam basis data Anda untuk meminimalkan jumlah permintaan ke server. Pemikiran yang bagus.

Jeffrey
sumber
Data disegarkan setiap 6 jam dan tujuannya adalah untuk digunakan dengan Yahoo Maps - bagian utama >> gunakan Yahoo! Maps APIs dengan informasi lokasi yang berumur kurang dari 6 jam dan berasal dari perangkat GPS atau perangkat penginderaan lokasi lainnya;
Mapperz
@Mapperz Sumber kesegaran dan input dari data alamat bukan masalah utama dalam KL. Saya mengutip itu hanya untuk menambahkan konteks ke titik paling signifikan yaitu: "ANDA TIDAK AKAN" (viii) menyimpan atau mengizinkan pengguna akhir untuk menyimpan citra peta, data peta atau informasi lokasi geocode dari Yahoo! Maps APIs untuk penggunaan di masa mendatang. Tidak masalah seberapa segar atau basi data itu.
Jeffrey
@ Jeffrey Saya tidak punya pilihan selain menggunakan layanan Google di seluruh, ini adalah persyaratan khusus dari klien. Ini mengesampingkan penggunaan Yahoo atau apa pun.
Rob
@ Teamworksdesign.com Sangat baik, yang menghilangkan banyak melihat sekeliling dan sekarang Anda dapat menggali kode. Keberuntungan!
Jeffrey
5

Setelah banyak menggali, Google benar-benar menunjukkan cara menyimpan hasil Geocode dalam database. Karena ada tutorial nyata dari Google tentang cara melakukannya, saya berasumsi bahwa ini tidak melanggar ketentuan layanan yang jelas yang telah disebutkan oleh banyak orang.

rampok
sumber
4

Menggunakan meja kerja FME untuk melakukan geocoding 'massal' dari Yahoo PlaceFinder API

Batas 50.000 permintaan per 24 jam:

masukkan deskripsi gambar di sini

Komponen kuncinya adalah HTTPFetcher

Tangkapan layar ini adalah versi modifikasi tinggi dari 'Membangun ruang kerja layanan Web' http://fmepedia.safe.com/articles/FAQ/Building-Web-services-workspace

Modifikasi:

Input beberapa alamat (csv adalah yang tercepat)

Kualitas setiap pencocokan geocode dicatat (di atas 87 adalah baik)

Menambahkan Elevasi dari layanan yang berbeda (geonames gtop30 dem)

Memvalidasi dan memfilter alamat yang buruk untuk dilihat.

(Akan mencoba dan mendapatkan di Toko FME setelah melihat perjanjian / ketentuan).

Mapperz
sumber
Saya akan sangat tertarik melihat ruang kerja Anda juga, karena ini termasuk dalam beberapa tujuan program saya juga ...
DEWright
Ini terlihat seperti alur kerja yang hebat tetapi perlu diingat, bahwa menyimpan hasil tentu akan menjadi pelanggaran TOS.
Jeffrey
hanya jika Anda menyimpannya lebih dari 6 jam ... atau menggunakannya bersamaan dengan Yahoo Maps untuk menampilkan lokasi
Mapperz
Penggunaan PlaceFinder tidak memerlukan penggunaan Yahoo! Peta atau Yahoo! Maps APIs.Eddie Babcock Yahoo! Geo Technologies developer.yahoo.com/forum/PlaceFinder-General-Discussion/…
Mapperz
@Mapperz Nah, TOS mengatakan "ANDA TIDAK AKAN:" {huruf besar dikutip juga} "menyimpan atau mengizinkan pengguna akhir untuk menyimpan citra peta, data peta atau informasi lokasi yang di-geocode dari API Peta Yahoo untuk penggunaan di masa depan." Terlihat cukup jelas bahwa jika tujuannya adalah untuk "menyimpan" data, itu melanggar TOS. Tapi, itu tentu diserahkan pada interpretasi. Semua yang mengatakan, Jika saya sedang membangun aplikasi komersial, saya ingin memastikan bahwa interpretasi saya sama dengan interpretasi penyedia data karena mereka (Yahoo dalam hal ini) memegang tombol kill ultimate.
Jeffrey
4

Jawaban singkat untuk pertanyaan awal Anda adalah ya, selama Anda menggunakan layanan pemetaan Google , Anda dapat menyimpan hasilnya. Ini dijabarkan dengan jelas (setelah beberapa kali dibaca ulang) di ToS dan API geocoding mereka.

Anda harus menyadari bahwa seperti banyak layanan geocode populer lainnya, mereka juga mengharuskan Anda

  1. Gunakan hanya data yang diperoleh dan di-cache Google dengan utilitas pemetaan mereka
  2. Jika ini adalah utilitas internal, bukan eksternal yang gratis untuk umum, Anda harus mendaftar sebagai klien komersial untuk menggunakannya secara legal.

Perhatikan dengan seksama # 1 ... perbedaan yang sangat kritis, Anda dapat melakukan cache, tetapi mereka tidak ingin Anda menggunakan lat / long (misalnya) pada utilitas pemetaan orang lain, baik itu situs web lain atau "homebrew" (walaupun harus jujur, saya tidak yakin bagaimana orang dapat melacak di mana lat / long data digunakan.

semua batasan dan pembatasan lainnya sebagaimana dinyatakan oleh ToS dan dokumen pemerintah lainnya.

pengguna15518
sumber