Cómo geocodificar una ciudad

8

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.

Jason Whitehorn
fuente

Respuestas:

5

La ubicación de la etiqueta a menudo está diseñada para mejorar la legibilidad del mapa en lugar de ser impulsada por los datos directamente: a menudo el desplazamiento cartográfico se realiza en las geometrías originales para mejorar la legibilidad del mapa. 41Latitude tenía un excelente artículo sobre la ubicación de etiquetas de ciudades en el que podría estar interesado.

El USGS GeoNames, también conocido como GNIS (un diccionario de dominio público de uso común utilizado, por ejemplo, por Geonames.org, Wikipedia, OpenStreetMap) proporciona esta nota :

... La directriz para digitalizar las características de área requiere que las coordenadas primarias se tomen en el centro, pero la ubicación del centro de una gran ciudad a veces es algo subjetiva.

Si estaba buscando elegir algorítmicamente el centro de una ciudad, podría usar el centroide de un polígono que delimita los límites de la ciudad, o tal vez algo más sofisticado como usar el centro de la forma alfa .

scw
fuente
¿Realmente se hace calculando centroides, en realidad? ... Tienes razón sobre el etiquetado, pero esa no era la pregunta.
oscuro
Debido a que una ciudad no es un fenómeno puntual, la colocación de etiquetas es un uso común de una única ubicación geocodificada a escalas grandes y medianas, y a escalas pequeñas la precisión es menos importante.
scw
¿No te refieres a escalas pequeñas y medianas? (mapa mundial = pequeña escala, mapa de la ciudad = gran escala)
Sean
@Sean sí, error tipográfico de reescritura; gracias por el
aviso
3

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).

bajo oscuro
fuente
0

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

daroczig
fuente
0

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

Geocode.Farm Staff
fuente