dtoolkit.geoaccessor.geoseries.reverse_geocode#

dtoolkit.geoaccessor.geoseries.reverse_geocode(s: gpd.GeoSeries, /, provider: str | geopy.geocoder = 'photon', address: Hashable = 'address', min_delay_seconds: float = 0, max_retries: int = 2, error_wait_seconds: float = 5, **kwargs) gpd.GeoDataFrame[source]#

Reverse geocode Point type GeoSeries 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 in geopy.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.

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)