-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Open
Labels
customer-reportedIssues that are reported by GitHub users external to the Azure organization.Issues that are reported by GitHub users external to the Azure organization.needs-triageWorkflow: This is a new issue that needs to be triaged to the appropriate team.Workflow: This is a new issue that needs to be triaged to the appropriate team.questionThe issue doesn't require a change to the product in order to be resolved. Most issues start as thatThe issue doesn't require a change to the product in order to be resolved. Most issues start as that
Description
- Package Name: azure.maps.search
- Package Version: latest
- Operating System: Windows
- Python Version: 3.12.7
Describe the bug
I wrote a function to geocode a location given an address using the library. That works fine. But if I reverse geocode a location it returns the wrong address.
To Reproduce
Steps to reproduce the behavior:
- Run the code at the bottom in a Jupyter notebook. It looks like about 41 pct of the reverse lookups are wrong. See image below.
- This code was test on a Databricks cluster also with the same results. I had a total of 234 sample addresses.
Expected behavior
This is basic math. x = sqrt(sqr(x))
The same should be with the maps functions. a = reverse-geocode(geocode(a))
Screenshots
Bad reverse lookup.
Using another tool comes up with correct location.
Additional context
The python function output shows what is wrong. If we geocode an address to get coordinates. The reverse geo-code of those coordinates should produce the same result.
Test Maps Search Client
from azure.core.credentials import AzureKeyCredential
from azure.maps.search import MapsSearchClient
api_key = "<your key here>"
def get_additional_address_info(api_key, raw_address):
# create object
azmaps = MapsSearchClient(credential=AzureKeyCredential(api_key))
# initialize variables
longitude = 0.0
latitude = 0.0
address = {'formattedAddress': '', 'postalCode': ''}
coordinates = [0.0, 0.0]
# Perform geocoding
try:
retval1 = azmaps.get_geocoding(query=raw_address)
if retval1.get('features'):
coordinates = retval1['features'][0]['geometry']['coordinates']
print(coordinates)
longitude, latitude = coordinates
except Exception as e:
pass
# Reverse geocoding
try:
retval2 = azmaps.get_reverse_geocoding(coordinates=coordinates)
if retval2.get('features'):
address = retval2['features'][0]['properties']['address']
except Exception as e:
pass
return { "address": address['formattedAddress'], "postalCode": address['postalCode'], "longitude": longitude, "latitude": latitude }
Test function
raw_address = "780 Lynnway, Lynn, MA, United States 01905"
retval3 = get_additional_address_info(api_key, raw_address)
print(retval3)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
customer-reportedIssues that are reported by GitHub users external to the Azure organization.Issues that are reported by GitHub users external to the Azure organization.needs-triageWorkflow: This is a new issue that needs to be triaged to the appropriate team.Workflow: This is a new issue that needs to be triaged to the appropriate team.questionThe issue doesn't require a change to the product in order to be resolved. Most issues start as thatThe issue doesn't require a change to the product in order to be resolved. Most issues start as that