Skip to content
Last updated

🌍 Reverse Geocoding API

The Reverse Geocoding service converts GPS coordinates (latitude, longitude) into a human-readable address or place name.
It can identify street addresses, places, and administrative subdivisions such as neighborhoods, counties, states, or countries.

Reverse geocoding is essential for location-based services, making raw GPS data more understandable to end users.


πŸ”— Endpoint

POST /bgis/service/geocoding/1.0/reverse
Content-Type: application/json


πŸ“¦ Sample Request Body

{
  "geoserver": "osm",
  "transportMode": "CAR",
  "maximumResults": 5,
  "coordinateSat": {
    "lon": 2.3412,
    "lat": 48.85693
  },
  "radius": "1000",
  "language": "on"
}

πŸ”§ Parameters

FieldOptionalDescription
coordinateSatNoGPS coordinates of the request. Type: CoordinateSat](#coordinatesat).
radiusNoMaximum search radius around the given GPS point, in meters. Type: long
geoserverYesName of the geoserver to use. Type: string
languageYesDefines the language used to perform the address lookup. If the specified language is not available, the default language will be used.
The value must be an ISO 639-1 2-letter code.
Special value: "IC" β†’ case-insensitive search based on ISO-3166 Alpha-2 or Alpha-3 country codes.
Type: string.
maximumResultsYesMaximum number of items used to perform the search and returned by the server. Type: int.
optionsYesComma-separated list of one or more reverse geocoding options. See details below.
swidxYesSwitch index used internally by the server. Type: int.
transportModeYesTransport mode used for the request. Type: string. See Available transport modes.

πŸ“Œ Available options values

OptionDescription
OPPOSITE_POSTAL_ADDRESSReturn the opposite postal address only if it differs from the main postal address.
OPPOSITE_POSTAL_ADDRESS_ALWAYSAlways return the opposite postal address, even if it's the same as the main postal address.
POLYLINEReturn the list of coordinates forming the road segment.
ROAD_FEATUREReturn detailed network information for the road segment.
SEGMENTIDReturn the segment ID (similar to a link ID).
SKIP_EMPTY_STREETNAMESkip results without a street name if other elements have one.
START_AT_RADIUSForce the search to start directly at the specified radius.
TRAFFICInclude real-time traffic information.
TRAFFIC_HISTORICAL (Beta)Include historical traffic information. Uses timestamps defined in coordinates.
TRAFFIC_PREDICTIVEInclude predictive traffic information. Uses timestamps defined in coordinates.
URBAN_AREAIndicate whether the resulting matched point is inside an urban area.

πŸš— Available transport modes

ValueDescription
BICYCLEBicycle routing.
CARPassenger car (default).
EMERGENCYEmergency vehicle.
MOTORCYCLEMotorcycle routing.
PEDESTRIANPedestrian routing.
PUBLIC_BUSPublic bus routing.
TAXITaxi routing.
TRUCKStandard truck routing.

πŸ—ΊοΈ CoordinateSat

Defines the GPS coordinates used in the request.

FieldOptionalDescription
latNoLatitude in decimal degrees (WGS84). Type: double.
lonNoLongitude in decimal degrees (WGS84). Type: double.
headingYesHeading angle in degrees. Type: double.
satYesNumber of GPS satellites available. Type: integer.
speedYesSpeed in km/h. Type: float.
timeYesGPS timestamp in milliseconds (EPOCH). Type: long

πŸ“€ Sample Response

{
  "extent": {
    "minLon": 2.34117,
    "minLat": 48.85686,
    "maxLon": 2.3413,
    "maxLat": 48.85696
  },
  "elements": [
    {
      "coordinate": {
        "lon": 2.34121,
        "lat": 48.85694
      },
      "distanceFromRequest": 1.33,
      "postalAddress": {
        "countryCode": "FRA",
        "country": "France",
        "state": "Île-de-France",
        "county": "Paris",
        "city": "Paris",
        "district": "Paris 1er Arrondissement",
        "postalCode": "75001",
        "roadNumber": "",
        "street": "Quai des Orfèvres"
      },
      "postalAddressClassType": "ROAD_FOURTH",
      "postalAddressClassId": 4048,
      "postalAddressExactStreeNumber": false,
      "angle": 149,
      "administrativeSpeedLimit": 30,
      "relevanceScore": 0.05327986839399546,
      "countryRelevanceScore": 0,
      "cityRelevanceScore": 0,
      "postalCodeRelevanceScore": 0,
      "streetRelevanceScore": 0,
      "streetNumberRelevanceScore": 0,
      "geoElementTypes": [
        "ROAD",
        "FOURTH_ROAD",
        "DISTRICT",
        "CITY",
        "COUNTY",
        "STATE",
        "COUNTRY"
      ],
      "segmentId": 0
    },
    {
      "coordinate": {
        "lon": 2.34117,
        "lat": 48.85694
      },
      "distanceFromRequest": 2.46,
      "postalAddress": {
        "countryCode": "FRA",
        "country": "France",
        "state": "Île-de-France",
        "county": "Paris",
        "city": "Paris",
        "district": "Paris 1er Arrondissement",
        "postalCode": "75000",
        "roadNumber": "",
        "street": "Place du Pont Neuf"
      },
      "postalAddressClassType": "ROAD_FOURTH",
      "postalAddressClassId": 4048,
      "postalAddressExactStreeNumber": false,
      "angle": -147,
      "administrativeSpeedLimit": 30,
      "relevanceScore": 0.05319761464116799,
      "countryRelevanceScore": 0,
      "cityRelevanceScore": 0,
      "postalCodeRelevanceScore": 0,
      "streetRelevanceScore": 0,
      "streetNumberRelevanceScore": 0,
      "geoElementTypes": [
        "ROAD",
        "FOURTH_ROAD",
        "DISTRICT",
        "CITY",
        "COUNTY",
        "STATE",
        "COUNTRY"
      ],
      "segmentId": 0
    },
    {
      "coordinate": {
        "lon": 2.34119,
        "lat": 48.85696
      },
      "distanceFromRequest": 3.42,
      "postalAddress": {
        "countryCode": "FRA",
        "country": "France",
        "state": "Île-de-France",
        "county": "Paris",
        "city": "Paris",
        "district": "Paris 1er Arrondissement",
        "postalCode": "75000",
        "roadNumber": "",
        "street": "Place du Pont Neuf"
      },
      "postalAddressClassType": "ROAD_FOURTH",
      "postalAddressClassId": 4048,
      "postalAddressExactStreeNumber": false,
      "angle": -148,
      "administrativeSpeedLimit": 30,
      "relevanceScore": 0.05309479745013365,
      "countryRelevanceScore": 0,
      "cityRelevanceScore": 0,
      "postalCodeRelevanceScore": 0,
      "streetRelevanceScore": 0,
      "streetNumberRelevanceScore": 0,
      "geoElementTypes": [
        "ROAD",
        "FOURTH_ROAD",
        "DISTRICT",
        "CITY",
        "COUNTY",
        "STATE",
        "COUNTRY"
      ],
      "segmentId": 0
    },
    {
      "coordinate": {
        "lon": 2.3413,
        "lat": 48.85688
      },
      "distanceFromRequest": 9.2,
      "postalAddress": {
        "countryCode": "FRA",
        "country": "France",
        "state": "Île-de-France",
        "county": "Paris",
        "city": "Paris",
        "district": "Paris 1er Arrondissement",
        "postalCode": "75001",
        "roadNumber": "",
        "street": "Place du Pont Neuf",
        "streetNumber": "15",
        "oppositeStreetNumber": "15"
      },
      "postalAddressClassType": "ROAD_FOURTH",
      "postalAddressClassId": 4048,
      "postalAddressExactStreeNumber": false,
      "angle": 35,
      "administrativeSpeedLimit": 30,
      "relevanceScore": 0.05190211803413529,
      "countryRelevanceScore": 0,
      "cityRelevanceScore": 0,
      "postalCodeRelevanceScore": 0,
      "streetRelevanceScore": 0,
      "streetNumberRelevanceScore": 0,
      "geoElementTypes": [
        "ROAD",
        "FOURTH_ROAD",
        "DISTRICT",
        "CITY",
        "COUNTY",
        "STATE",
        "COUNTRY"
      ],
      "segmentId": 0
    },
    {
      "coordinate": {
        "lon": 2.34128,
        "lat": 48.85686
      },
      "distanceFromRequest": 9.75,
      "postalAddress": {
        "countryCode": "FRA",
        "country": "France",
        "state": "Île-de-France",
        "county": "Paris",
        "city": "Paris",
        "district": "Paris 1er Arrondissement",
        "postalCode": "75001",
        "roadNumber": "",
        "street": "Quai des Orfèvres"
      },
      "postalAddressClassType": "ROAD_FOURTH",
      "postalAddressClassId": 4048,
      "postalAddressExactStreeNumber": false,
      "angle": 134,
      "administrativeSpeedLimit": 30,
      "relevanceScore": 0.05171704709027348,
      "countryRelevanceScore": 0,
      "cityRelevanceScore": 0,
      "postalCodeRelevanceScore": 0,
      "streetRelevanceScore": 0,
      "streetNumberRelevanceScore": 0,
      "geoElementTypes": [
        "ROAD",
        "FOURTH_ROAD",
        "DISTRICT",
        "CITY",
        "COUNTY",
        "STATE",
        "COUNTRY"
      ],
      "segmentId": 0
    }
  ],
  "maximunResult": 5
}

πŸ“˜ Notes

  • Coordinates must be expressed in WGS84 decimal degrees.
  • If no result is found within the provided radius, the response will be empty.
  • If the language parameter is missing, the system will use the default server language.