dtoolkit.geoaccessor.geodataframe.reverse_geocode#
- dtoolkit.geoaccessor.geodataframe.reverse_geocode(df: gpd.GeoDataFrame, /, address: Hashable = 'address', provider: str | geopy.geocoder = 'photon', min_delay_seconds: float = 0, max_retries: int = 2, error_wait_seconds: float = 5, **kwargs) gpd.GeoDataFrame [source]#
Reverse geocode
Point
typeGeoDataFrame
and get the corresponding addresses.- Parameters:
- providerstr or geopy.geocoder, default “photon”
Specifies geocoding service to use. Default will use “photon”, see the Photon’s terms of service at: https://photon.komoot.io. Either the string name used by geopy (as specified in
geopy.geocoders.SERVICE_TO_GEOCODER
) or a geopy Geocoder instance (e.g.,Photon
) may be used. Some providers require additional arguments such as access keys, please see each geocoder’s specific parameters ingeopy.geocoders
.- addressHashable, default “address”
The name of the column to store the address.
- min_delay_seconds, max_retries, error_wait_seconds
See the documentation for
RateLimiter()
for complete details on these arguments.- **kwargs
Additional keyword arguments to pass to the geocoder.
- Returns:
- GeoDataFrame
- Raises:
- ModuleNotFoundError
If don’t have module named ‘geopy’.
- ValueError
If the CRS is not
ESGP:4326
.
See also
Examples
>>> import dtoolkit.geoaccessor >>> import pandas as pd >>> df = ( ... pd.Series( ... [ ... "POINT (-71.0594869 42.3584697)", ... ], ... name="wkt", ... ) ... .from_wkt(crs=4326) ... .geometry.to_geoframe() ... ) >>> df geometry 0 POINT (-71.05949 42.35847) >>> df.reverse_geocode() address geometry 0 18-32, Tremont Street, 02108, Tremont Street, ... POINT (-71.05949 42.35847)