Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segnaposto mostra posizione sbagliata #126

Open
LukeSavefrogs opened this issue Oct 5, 2023 · 3 comments
Open

Segnaposto mostra posizione sbagliata #126

LukeSavefrogs opened this issue Oct 5, 2023 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@LukeSavefrogs
Copy link
Owner

LukeSavefrogs commented Oct 5, 2023

Segnalazione ricevuta via What's App in data 05/10/2023 10:21

Problema

In fase di generazione KML viene creato un KML con una posizione del segnaposto errata rispetto a quella che dovrebbe essere.

Il problema è venuto fuori per l'indirizzo VIA DEL CASALE DI BARBABIANCA 00054, FIUMICINO, Italia, ma non è escluso ce ne possano essere altri.

Cercando l'indirizzo tramite Maps/Google Earth otteniamo l'indirizzo corretto:
Ricerca tramite Maps

Utilizzando invece il servizio di Geocoding di Google, viene restituito Via del Casale Zola, 00143 Roma RM, Italia:
Ricerca tramite Geocoding API

@LukeSavefrogs LukeSavefrogs added the bug Something isn't working label Oct 5, 2023
@LukeSavefrogs LukeSavefrogs modified the milestones: v1.4.4, v1.4.5 Oct 5, 2023
@LukeSavefrogs LukeSavefrogs self-assigned this Oct 5, 2023
@LukeSavefrogs
Copy link
Owner Author

LukeSavefrogs commented Oct 5, 2023

Se l'indirizzo include Italia, vengono restituiti 2 risultati:

curl --get -s "https://maps.googleapis.com/maps/api/geocode/json" \
  --data-urlencode "address=VIA DEL CASALE DI BARBABIANCA, 00054, FIUMICINO, Italia" \
  --data-urlencode "key=${API_KEY}" \
| jq '.results[].formatted_address'

Output:

"Via del Casale Zola, 00143 Roma RM, Italy"
"Via del Casale Barbabianca, 10, 00054 Torrimpietra RM, Italy"

Se invece l'indirizzo NON include il paese, il risultato è univoco:

curl --get -s "https://maps.googleapis.com/maps/api/geocode/json" \
  --data-urlencode "address=VIA DEL CASALE DI BARBABIANCA, 00054 , FIUMICINO" \
  --data-urlencode "key=${API_KEY}" \
| jq '.results[].formatted_address'

Output:

"Via del Casale Barbabianca, 10, 00054 Torrimpietra RM, Italy"

LukeSavefrogs added a commit that referenced this issue Oct 12, 2023
Vedi issue #126 per maggiori informazioni
@LukeSavefrogs
Copy link
Owner Author

LukeSavefrogs commented Oct 12, 2023

Veniva sempre restituito il primo indirizzo perchè il geocoder di geopy ha come default exactly_one=True.

A partire dalla commit 6ee7f0c nel caso vengano trovati più risultati per un indirizzo il programma esce con un errore.

@LukeSavefrogs LukeSavefrogs removed this from the v1.4.5 milestone Oct 12, 2023
@LukeSavefrogs
Copy link
Owner Author

Con l'ultima versione (v1.4.7) è stata aggiunta una voce nella configurazione che permette di personalizzare il metodo di ricerca degli indirizzi tramite Google Geocoding API (features.kml_generation.location_search_type):

  • strict: E' il metodo più conservativo, lo script si interrompe se l'API restituisce più di un indirizzo.
  • postalcode: Se viene trovato più di un indirizzo corrispondente, restituisce quello con lo stesso CAP dell'indirizzo richiesto (fallisce comunque se ne trova più di uno).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant