First commit
This commit is contained in:
77
VWorldAPIs.py
Normal file
77
VWorldAPIs.py
Normal file
@@ -0,0 +1,77 @@
|
||||
import io
|
||||
import requests
|
||||
import math
|
||||
import numpy as np
|
||||
import json
|
||||
import folium
|
||||
|
||||
from bs4 import BeautifulSoup
|
||||
from pyproj import Transformer
|
||||
|
||||
#위도(latitude), 경도(longitude)
|
||||
Earth_r = 20037508.34 # meter
|
||||
|
||||
def GetJusofromGPS(lat,lon):
|
||||
ret_juso = ["", "", "", ""]
|
||||
|
||||
if lat <= 0.0 or lon <= 0.0:
|
||||
return ret_juso
|
||||
|
||||
apiurl = "https://api.vworld.kr/req/address?"
|
||||
params = {
|
||||
"service": "address",
|
||||
"request": "getaddress",
|
||||
"crs": "epsg:4326",
|
||||
"point": f"{lon},{lat}",
|
||||
"format": "json",
|
||||
"type": "BOTH",
|
||||
"key": "7E59C6EC-6BB0-3ED9-ACCC-4158869D7CFD"
|
||||
}
|
||||
|
||||
response = requests.get(apiurl, params=params)
|
||||
|
||||
data = None
|
||||
if response.status_code == 200:
|
||||
data = response.json()
|
||||
|
||||
print(data)
|
||||
|
||||
if "OK" == data["response"]["status"]:
|
||||
for item in data["response"]["result"]:
|
||||
type = item["type"]
|
||||
|
||||
if type.lower() == "parcel":
|
||||
ret_juso[0] = item["text"]
|
||||
ret_juso[1] = item["structure"]["level4L"]
|
||||
elif type.lower() == "road":
|
||||
ret_juso[2] = item["text"]
|
||||
ret_juso[3] = item["structure"]["level4L"]
|
||||
|
||||
else:
|
||||
print( f"{data["response"]["status"] } : {data["error"]["code"] }" )
|
||||
|
||||
return ret_juso
|
||||
|
||||
# VWorld 좌표계 : EPSG:3857
|
||||
# GPS 좌표계 : EPSG:4326
|
||||
# 경도는 람다 (\lambda) 위도는 파이 (\phi)
|
||||
def Transform4326to3857(srcLat, srcLon):
|
||||
transformer = Transformer.from_crs("EPSG:4326", "EPSG:3857", always_xy=True)
|
||||
|
||||
# 좌표 변환 실행
|
||||
x, y = transformer.transform(srcLon, srcLat)
|
||||
|
||||
return y, x
|
||||
|
||||
|
||||
|
||||
|
||||
#37.536514,126.977138
|
||||
#37.541047,126.990966
|
||||
#37.539324791666665,126.98787990833334
|
||||
#37.539325,126.987880
|
||||
#GetJusofromGPS(37.52356569972222,126.9683578)
|
||||
#"14105383.450839", "3950184.1545913"
|
||||
#37.36340831688752, 35.48510801650072
|
||||
#"3950184.1545913", "14105383.450839"
|
||||
|
||||
Reference in New Issue
Block a user