분류 php

지오 코딩 API

컨텐츠 정보

  • 조회 314 (작성일 )

본문

좌표를 사람이 읽을 수 있는 위치로, 위치를 좌표로 변환하는 간단한 무료 지오 코딩 API입니다.


Geocode 

$ curl https://geo-info.co/Lachute,Quebec,CA


Reverse Geocode 

$ curl https://geo-info.co/45.6479,-74.3451


{
    "city": "Lachute",
    "community": "Lachute",
    "communityCode": "76020",
    "country": "CA",
    "county": "Laurentides",
    "countyCode": "15",
    "isCity": true,
    "latitude": 45.6501,
    "longitude": -74.3325,
    "nearbyCities": [
        {
            "city": "Chatham",
            "community": "",
            "communityCode": "",
            "country": "CA",
            "county": "",
            "countyCode": "",
            "isCity": true,
            "latitude": 45.6834,
            "longitude": -74.4159,
            "postalCode": "J8G",
            "state": "Quebec",
            "stateCode": "QC"
        },
        {
            "city": "Saint-Colomban",
            "community": "Saint-Colomban",
            "communityCode": "75005",
            "country": "CA",
            "county": "Laurentides",
            "countyCode": "15",
            "isCity": true,
            "latitude": 45.7334,
            "longitude": -74.1325,
            "postalCode": "J5K",
            "state": "Quebec",
            "stateCode": "QC"
        },
        {
            "city": "Mirabel Southwest",
            "community": "",
            "communityCode": "",
            "country": "CA",
            "county": "Mirabel",
            "countyCode": "",
            "isCity": true,
            "latitude": 45.6345,
            "longitude": -74.1005,
            "postalCode": "J7N",
            "state": "Quebec",
            "stateCode": "QC"
        },
        {
            "city": "Hawkesbury",
            "community": "",
            "communityCode": "",
            "country": "CA",
            "county": "",
            "countyCode": "",
            "isCity": true,
            "latitude": 45.6001,
            "longitude": -74.616,
            "postalCode": "K6A",
            "state": "Ontario",
            "stateCode": "ON"
        },
        {
            "city": "Saint-J\u00e9r\u00f4me West",
            "community": "Saint-J\u00e9r\u00f4me",
            "communityCode": "75017",
            "country": "CA",
            "county": "Laurentides",
            "countyCode": "15",
            "isCity": true,
            "latitude": 45.7987,
            "longitude": -74.0727,
            "postalCode": "J5L",
            "state": "Quebec",
            "stateCode": "QC"
        }
    ],
    "nearbyPlaces": [
        {
            "altCountry": "",
            "country": "CA",
            "elevation": "",
            "featureClass": "L",
            "featureCode": "PRK",
            "isPlace": true,
            "latitude": 45.3001,
            "longitude": -75.24931,
            "placeAltNames": "",
            "placeAsciiName": "Parc Alcide-Marcoux",
            "placeName": "Parc Alcide-Marcoux",
            "population": "0",
            "state": "10",
            "timezone": "America/Toronto"
        },
        {
            "altCountry": "",
            "country": "CA",
            "elevation": "",
            "featureClass": "P",
            "featureCode": "PPL",
            "isPlace": true,
            "latitude": 45.3334,
            "longitude": -75.24931,
            "placeAltNames": "",
            "placeAsciiName": "Limoges",
            "placeName": "Limoges",
            "population": "2048",
            "state": "08",
            "timezone": "America/Toronto"
        },
        {
            "altCountry": "",
            "country": "CA",
            "elevation": "",
            "featureClass": "P",
            "featureCode": "PPL",
            "isPlace": true,
            "latitude": 45.35782,
            "longitude": -75.25239,
            "placeAltNames": "",
            "placeAsciiName": "Cambridge Forest Estates",
            "placeName": "Cambridge Forest Estates",
            "population": "0",
            "state": "08",
            "timezone": "America/Toronto"
        },
        {
            "altCountry": "",
            "country": "CA",
            "elevation": "",
            "featureClass": "H",
            "featureCode": "STM",
            "isPlace": true,
            "latitude": 45.4001,
            "longitude": -75.24931,
            "placeAltNames": "",
            "placeAsciiName": "South Indian Creek",
            "placeName": "South Indian Creek",
            "population": "0",
            "state": "08",
            "timezone": "America/Toronto"
        },
        {
            "altCountry": "",
            "country": "CA",
            "elevation": "",
            "featureClass": "L",
            "featureCode": "AREA",
            "isPlace": true,
            "latitude": 45.4168,
            "longitude": -75.24931,
            "placeAltNames": "",
            "placeAsciiName": "Russell",
            "placeName": "Russell",
            "population": "0",
            "state": "08",
            "timezone": "America/Toronto"
        }
    ],
    "postalCode": "J8H",
    "state": "Quebec",
    "stateCode": "QC"
}

https://geo-info.co/ 


위도와 경도 좌표가 있고 사람이 읽을 수 있는 위치로 변환 해야 하는 상황에 처한 적이 있습니까? 위치 이름이 있고 좌표가 필요한 상황은 어떻습니까? 이런 종류의 일이 많이 나옵니다. 이 작업을 매우 빠르고 쉽게 수행 할 수 있는 API를 사용하면 이 작업을 보다 쉽게 ​​수행 할 수 있습니다.


지리 정보를 사용하려는 몇 가지 이유는 다음과 같습니다.

  • 지오 코딩과 역 지오 코딩을 모두 수행 할 수 있는 간단한 API가 필요합니다.
  • 필요한 정보를 얻기 위해 농구대를 뛰어 넘고 싶지 않습니다.
  • 지나치게 복잡하지 않은 간단한 API를 원합니다.
  • 찾고 있는 위치 근처의 도시에 대한 정보가 필요합니다.
  • 속도와 신뢰성은 두 가지 중요한 사항입니다. 사용하는 솔루션은 필요할 때 항상 사용 가능하고 빠르게 작동 할 것으로 기대합니다.

API 사용 


지리 정보 API는 사용하기 매우 쉽습니다. 요청에는 기본적으로 https://geo-info.co/{latitude},{longitude}https://geo-info.co/ {무료 검색}의 두 가지 형식이 있습니다. 반환 되는 정보는 위도 및 경도 입력에 기반한 정보가 포함 된 매우 깔끔한 JSON 객체입니다.


위도 및 경도가 제공되면 API는 도시가 위치한 주, 우편 번호, 카운티 및 국가와 함께 가장 가까운 도시 / 도시를 반환합니다. 또한 API는 근처에 있는 도시 목록을 거리별로 정렬하여 반환합니다.


"무료 검색"쿼리 엔드 포인트를 사용하면 사전 정의 된 형식 없이 위치를 검색 할 수 있습니다.


현재 사용되는 데이터 세트는 GeoNames에서 제공하며 Creative Commons 4.0 라이센스에 따라 사용할 수 있습니다.


Python 


import requests

resp = requests.get("https://geo-info.co/45.6479,-74.3451")
json = resp.json()
print(json['city'])


NodeJS 


const request = require("request");

request.get("https://geo-info.co/Lachute,Quebec,CA", (err, resp, body) => {
    const resp_obj = JSON.parse(body);
    console.log(resp_obj.city);
});