GeoJSON

NB·2022년 4월 26일
0
post-thumbnail

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이 존재합니다.

  • Point
  • LineString
  • Polygon
  • MultiPoint
  • MultiLineString
  • MultiPolygon

coordinates에서는 경도/위도를 입력하는데, 순서에 유의합시다.

profile
𝙄 𝙖𝙢 𝙖 𝙛𝙧𝙤𝙣𝙩𝙚𝙣𝙙 𝙙𝙚𝙫𝙚𝙡𝙤𝙥𝙚𝙧 𝙬𝙝𝙤 𝙚𝙣𝙟𝙤𝙮𝙨 𝙙𝙚𝙫𝙚𝙡𝙤𝙥𝙢𝙚𝙣𝙩. 👋 💻

0개의 댓글