Pergunta

Eu tenho um banco de dados de endereços e tentei encontrar a latitude e longitude usando Google Geocoding e yahoo API . Existe alguma outra API ou programas populares são there.I'm usando a plataforma Ubuntu.

Foi útil?

Solução

Eu estou ciente de pelo menos um outro sistema de geocodificação, OpenStreetMap . As únicas grandes diferenças que eu encontrei com qualquer um destes API do é o nível de detalhe em cada um. OpenStreetMap tem significativamente menos dados, mas é muito mais fácil de integrar com dados personalizados. Além disso, eu acho que os mapas produzidos pelo Google são os mais belo dos três.

Outras dicas

Eu estava normalmente usando o Google Maps Serviço de geocodificação sobre HTTP que retorna JSON ou XML como você gosta. Navegar em torno aqui para obter mais informações sobre isso.

Outra opção pode ser GeoNames.org . Ele também fornece alguns serviços interessantes e bibliotecas do cliente.

Com as duas coisas que você mencionou, se você está ou não mostrar um mapa para o usuário na hora de consultar a API de processamento de massa, você está violando TOS.

A melhor solução para atender às suas necessidades seria algo como LiveAddress . Na verdade, eu trabalho em SmartyStreets onde desenvolvemos nós mesmos - não há restrições de licença, como iria impedi-lo de correr até milhões de endereços. Além de coordenadas de retorno, LiveAddress também irá verificar a existência de endereços e padronizá-los para você. Isso é útil na remoção de duplicatas e tem um monte de vantagens comerciais.

Se você tiver quaisquer perguntas adicionais de endereço relacionada eu vou ser feliz para ajudar pessoalmente.

Você também pode encontrar geocoder.us útil.

Usando YQL, u pode obter uma lista de possíveis previsão Primeiro passo: geocodificação reversa

SELECT woeid 
FROM geo.places 
WHERE text="##LATITUDE##, ##LONGITUDE##"

, em seguida, aplicar um filtro aos resultados classificar por placeType. Esta ajuda U a previsão do fim de precisão nível do mapa (cidade, cidade, CEP, região, ....)

SELECT woeid 
FROM geo.places
WHERE text="##LATITUDE##, ##LONGITUDE##" | 
SORT(field="placeTypeName.code")

Agora use simile juntar-se para obter todas as previsões por woeid resultou pela última consulta e resultados nulos filtro

SELECT channel 
FROM weather.woeid 
WHERE w in (
    SELECT woeid 
    FROM geo.places 
    WHERE text="##LATITUDE##, ##LONGITUDE##" | 
    SORT(field="placeTypeName.code")) 
AND channel.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top