Sé que puedo llamar a cualquiera de las API de geocodificación para realizar esto por mí. Esto es más una curiosidad que otra cosa.
Con eso aparte, ¿cómo alguien (como Google) convierte el nombre de una ciudad en latitud y longitud? Al jugar con Google Maps, parece que la mayoría de las veces una ciudad se identifica con el centro de la ciudad, pero no parece haber ninguna razón por la cual una esquina de la calle se elija sobre cualquier otra esquina.
Tengo curiosidad por saber qué algoritmo utilizaría un proveedor de servicios de geocodificación para realizar tal acción.
fuente
Dudo que haya un algoritmo universal para esto. Los proveedores de geocodificación compran sus datos de dirección de algún proveedor. Ese vendedor, o quien recopila los datos, simplemente decide dónde está el "centro de la ciudad" (en función de su conocimiento del área).
fuente
Los datos provienen de TeleAtlas (en la mayoría de los casos) http://en.wikipedia.org/wiki/Tele_Atlas#Google_and_other_Internet_mapping_agreements aunque Google está tratando de dejar de comprar datos y hacerlo ellos mismos. La extrañeza de algunos códigos geográficos de la ciudad se basa en la red de carreteras y en alguna herramienta automatizada hasta donde se sabe.
prueba http://mapinsight.teleatlas.com/mapfeedback/help/demoEN.html
fuente
Puede que esta no sea la respuesta que realmente busca, pero podría ser una solución alternativa (evaluada por los estadísticos):
Si conoce los códigos geográficos de algunas ciudades y también conoce la matriz de distancia entre las ciudades, podría realizar, por ejemplo, un MDS para calcular los códigos geográficos de cada ciudad en función de las distancias. Algunos códigos geográficos solo son necesarios para obtener la "parte superior" y la "parte inferior" del mapa, ya que MDS dibujará un mapa muy preciso de sus ciudades :)
Pero volvamos a la pregunta: ¡una muy buena! Definitivamente puedo calcular fácilmente latitudes y longitudes en una ciudad con la ayuda de los geocodificadores de casas ubicadas en las esquinas de la calle, pero no tengo una idea exacta de cómo alguien podría calcular los códigos geográficos de las ciudades sin saber, por ejemplo, la matriz de distancia que se muestra arriba.
Supongo que Google (y otros) solo compran los mapas de quienes los tienen (como se hizo en forma segura en varios lugares, vea este artículo de cnet), o tendrían que inventarlos recorriendo todos los sitios que podrían consume muchos recursos
fuente
Aquí en Geocode.Farm , tenemos los datos de límites almacenados y luego usamos un algoritmo que se vincula para crear un cuadrado o círculo (dependiendo de la forma de los límites). Luego se calcula el centro y eso es lo que usamos para las coordenadas devueltas.
Descargo de responsabilidad : trabajo para Geocode Farm
fuente