🗺️ GIS & RS/📚 GIS (지리정보시스템)

[GIS] GeoJSON이란? (Geo JavaScript Object Notation)

김 홍시 2024. 7. 29.
반응형

GeoJSON은 지리적 데이터를 표현하기 위한 JSON(JavaScript Object Notation) 기반의 포맷입니다. GeoJSON은 지리적 객체를 쉽게 표현하고 전송할 수 있도록 설계되었으며, 다양한 지리적 형상(geometry)과 속성(attribute)을 포함할 수 있습니다.

주요 특징

  1. 기본 형상 타입: GeoJSON은 지리적 데이터를 표현하기 위해 여러 기본 형상 타입을 지원합니다.

    • Point: 점을 나타냅니다.
    • LineString: 선을 나타냅니다.
    • Polygon: 폴리곤(다각형)을 나타냅니다.
    • MultiPoint: 여러 개의 점을 나타냅니다.
    • MultiLineString: 여러 개의 선을 나타냅니다.
    • MultiPolygon: 여러 개의 폴리곤을 나타냅니다.
    • GeometryCollection: 다양한 형상 타입을 묶어서 표현합니다.
  2. Feature: 개별 지리적 객체를 표현하며, 형상과 속성 데이터를 포함합니다.

  3. FeatureCollection: 여러 개의 Feature를 포함하는 컬렉션입니다.

예시

Point 예시

{
  "type": "Point",
  "coordinates": [102.0, 0.5]
}

Feature 예시

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [102.0, 0.5]
  },
  "properties": {
    "name": "Sample Point"
  }
}

FeatureCollection 예시

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [102.0, 0.5]
      },
      "properties": {
        "name": "Sample Point"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [102.0, 0.0],
          [103.0, 1.0],
          [104.0, 0.0],
          [105.0, 1.0]
        ]
      },
      "properties": {
        "name": "Sample Line"
      }
    }
  ]
}

사용 예

GeoJSON은 웹 매핑 라이브러리(예: Leaflet, Mapbox)와 GIS(Geographic Information System) 소프트웨어에서 자주 사용됩니다. 예를 들어, Leaflet을 사용하여 GeoJSON 데이터를 지도에 표시할 수 있습니다.

var myMap = L.map('map').setView([0.5, 102.0], 13);

L.geoJSON(geojsonFeature).addTo(myMap);

위 예시에서 geojsonFeature는 GeoJSON 형식의 데이터를 포함하는 변수입니다. 이를 통해 지도에 지리적 데이터를 쉽게 시각화할 수 있습니다.

반응형

댓글