Eu sei que posso chamar uma de qualquer número de APIs de geocodificação para fazer isso por mim. Isso é mais uma curiosidade do que qualquer outra coisa.
Com isso de lado, como alguém (como o Google) transforma o nome de uma cidade em latitude e longitude? Ao brincar com o Google Maps, parece que na maioria das vezes uma cidade está localizada no centro da cidade, mas parece não haver razão para que uma esquina seja escolhida sobre qualquer outra esquina.
Estou curioso para saber qual algoritmo um provedor de serviços de geocodificação utilizaria para executar essa ação?
fonte
Duvido que exista um algoritmo universal para isso. Os provedores de geocodificação compram seus dados de endereço de algum fornecedor. Esse fornecedor - ou quem quer que colete os dados - simplesmente decide onde fica o 'centro da cidade' (com base no conhecimento da área).
fonte
Os dados são do TeleAtlas (na maioria dos casos) http://en.wikipedia.org/wiki/Tele_Atlas#Google_and_other_Internet_mapping_agreements, embora o Google esteja tentando se afastar da compra de dados e fazê-los eles mesmos. A estranheza de alguns códigos geográficos da cidade é baseada na rede viária e em alguma ferramenta automatizada, tanto quanto se sabe
tente http://mapinsight.teleatlas.com/mapfeedback/help/demoEN.html
fonte
Esta pode não ser a resposta que você realmente deseja, mas pode ser uma solução alternativa (avaliada por estatísticos):
Se você conhece os códigos geográficos de algumas cidades e também a matriz de distância entre as cidades, pode executar, por exemplo, um MDS para calcular os códigos geográficos de cada cidade com base nas distâncias. Alguns códigos geográficos são necessários apenas para obter o "topo" e o "fundo" do mapa, pois o MDS desenhará um mapa realmente preciso de suas cidades :)
Mas voltando à pergunta: realmente boa! Definitivamente, posso calcular latitudes e longitudes em uma cidade facilmente com a ajuda dos códigos geográficos das casas situadas nas esquinas das ruas, mas não tenho uma idéia exata de como alguém poderia calcular os códigos geográficos das cidades sem saber, por exemplo, a matriz de distância mostrada acima.
Suponho que o Google (e outros) apenas compre os mapas daqueles que os possuem (como foi feito em Pasty com certeza em vários lugares, veja o artigo deste artigo da cnet), ou eles teriam que inventar esses mapas viajando por todos os sites que poderiam consomem muitos recursos.
fonte
Aqui no Geocode.Farm , temos os dados do limite armazenados e, em seguida, usamos um algoritmo que amarra para criar um quadrado ou círculo (dependendo da forma dos limites). O centro é então calculado e é isso que usamos para as coordenadas retornadas.
Isenção de responsabilidade : trabalho para o Geocode Farm
fonte