GeoJSON이란 말그대로 지리적인 feature을 가지고 있는 JSON 포맷 타입의 데이터입니다.
새로운 타입이 아니라, 그저 약속이 있는 JSON 포맷의 데이터입니다.
GIS 및 지리적 데이터를 시각화할 때, 많이 사용되는 포맷입니다.
형태는 다음과 같습니다. 서울특별시 종로구 사직동
를 예시로 들어서 데이터를 확인해볼까요?
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"code": "1101053",
"name": "서울특별시 종로구 사직동"
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[ 126.976888842748167, 37.575650779448786 ],
[ 126.977034498877501, 37.569194530054546 ],
[ 126.975974728212492, 37.569336299425764 ],
[ 126.975374709912543, 37.569315567021562 ],
[ 126.974331935623255, 37.569261800517531 ],
[ 126.969048370018541, 37.568194417708312 ],
[ 126.968544936033837, 37.568427679612753 ],
[ 126.966649959821197, 37.569491655206569 ],
[ 126.966281750244846, 37.569700734798701 ],
[ 126.966097327080405, 37.569856509723699 ],
[ 126.965728529225771, 37.570183936115114 ],
[ 126.965926998221278, 37.570318805686199 ],
[ 126.96601094018429, 37.57154839557748 ],
[ 126.963659220521961, 37.575174660660359 ],
[ 126.963086004345129, 37.576485920015529 ],
[ 126.962840990511978, 37.576661586092726 ],
[ 126.962810410472628, 37.579448809656768 ],
[ 126.967424315843317, 37.579601537124489 ],
[ 126.967421763026508, 37.579263521441646 ],
[ 126.967430060184597, 37.579192577998612 ],
[ 126.967457090095607, 37.578975250585444 ],
[ 126.968066046996256, 37.578246780467865 ],
[ 126.968955116954774, 37.577935262340283 ],
[ 126.969212842969057, 37.577935299309395 ],
[ 126.969414538865792, 37.578121124142172 ],
[ 126.969664426694706, 37.578531136682209 ],
[ 126.969667219148718, 37.578736205134923 ],
[ 126.969668773533087, 37.578992879009881 ],
[ 126.969669499103631, 37.579112526749597 ],
[ 126.969904573616262, 37.579301753628719 ],
[ 126.97135197544759, 37.579513277939817 ],
[ 126.973819257844539, 37.579372140302631 ],
[ 126.973917363383421, 37.578487073041011 ],
[ 126.973939619980882, 37.578240429978088 ],
[ 126.974331538357575, 37.575749906299862 ],
[ 126.975803789978045, 37.575649468824203 ],
[ 126.976888842748167, 37.575650779448786 ]
]
]
}
}
]
}
타입에 대해서는 만약 여러개의 Feature가 존재한다면, FeatureCollection가 존재하며, 만약 하나의 Feature만이 존재한다면, FeatureCollection 타입은 없어도 무방하다.
단일 Feature에 대한 포맷은 다음 과 같습니다.
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[lng(경도), lat(위도)]
]
}
}
여기서 properties
는 임의의 Key-Value 형태입니다.
geometry
에서는 지리적 정보를 가지고 있는데, 다음과 같은 type
이 존재합니다.
coordinates
에서는 경도/위도를 입력하는데, 순서에 유의합시다.