2023. 3. 27. 15:57ㆍBio-python/Pre-Process
GeoJSON은 지리적인 데이터를 표현하기 위한 형식 중 하나로, JSON으로 위치 데이터와 속성 데이터를 저장하는 형식이다.
geojson의 구조는 다음과같다.
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[12955.36, 15843.04],
[12955.36, 15843.04],
[12952.61, 15834.79],
]
},
"properties": {
"object_type": "annotation",
"classification": {
"name": "TP_microvascular proliferation",
"colorRGB": -16711681
},
"isLocked": false
}
},
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[5720.49, 10941.09],
[5720.49, 10941.09],
[5720.49, 10940.36],
[5720.49, 10939.63],
]
},
"properties": {
"object_type": "annotation",
"classification": {
"name": "TP_microvascular proliferation",
"colorRGB": -16711681
},
"isLocked": false
}
}
✨ Geometry Type
GeoJSON은 데이터 객체를 Geometry , Feature , FeatureCollection 3가지 타입으로 표현할 수 있다.
차원(Dimension) | 타입(type) |
0차원(점) | - Point - MultiPoint |
1차원(선) | - LineString - MultiLineString |
2차원(면) | - Polygon - MultiPolygon |
- GeometryCollection
|
✨ Feature Type
- 특정 공간에 위치하는 개체를 나타낸다. (a spatially bounded entity)
- Feature는 Geometry object(7 Geometry Type 중 하나)와 추가 프로퍼티로 구성된다.
✨ FeatureCollection Type
- Feature의 리스트를 나타낸다. (a list of Features)
📍 포지션(Position)
세부적인 Geometry Object를 알아보기 전에 포지션의 개념에 대한 이해가 필요하다.
Geometry Object는 특정 공간 영역을 나타내는 객체이다. 이러한 공간 영역 나타내기 위해서 포지션이 사용된다. 포지션은 지구상의 한 지점을 나타낼 수 있으며 이 지점은 우리가 '장소'라고 생각할 수 있는 가장 작은 단위이다.
포지션은 순서대로 배열된 좌표(Coordinate)이다. 포지션은 숫자 배열로 반드시 2개 이상의 엘리먼트가 있어야한다.
[ longitude, latitude, (altitude) ]
처음 두 엘리먼트는 longitude / latitude 또는 easting / northing을 나타내며 순서에 맞춰 10진수를 사용해야한다. 3번째 엘리먼트는 옵션으로 altitude 또는 elevation을 나타낸다.
포지션에서 사용할 수 있는 엘리먼트는 최대 3개이다. 역사적으로 이 이상 엘리먼트를 추가하려는 시도도 있었지만 그다지 성공적이지 못했다. 따라서 GeoJSON 처리기는 3개의 엘리먼트 외에 다른 추가 엘리먼트들은 무시한다.
단일 포지션은 한 지점을 나타내지만 여러 포지션들을 조합하면 좌표상에 기하학(Geometry) 형태의 도형을 표현할 수 있다.
필자의 Geojson은 Linestring이며 이미지파일에 어노테이션된 부분이 coordination 객체내에 위치해있다.
'Bio-python > Pre-Process' 카테고리의 다른 글
yolo를 활용하여 svs 파일의 geojson 좌표학습 1 (0) | 2023.03.29 |
---|