-
Shapefile, GeoJSON, KML, GPKG : 공간 데이터 파일 형식 비교 코드<Research>/[용어정리] 2023. 3. 18. 21:12728x90
각 파일 형식은 데이터의 구조와 특성에 따라 다른 방식으로 작성됩니다. 따라서 예시 코드는 파일 형식과 작성하려는 데이터에 따라 달라질 수 있습니다. 하지만 각 파일 형식의 기본적인 구조와 작성 방법을 간단하게 예시 코드로 보여드리겠습니다.
Shapefile
Shapefile은 .shp, .shx, .dbf 파일 등으로 구성된 파일 세트입니다. 기하학적 요소와 속성 데이터를 각각 별도의 파일로 저장합니다. 다음은 Python의 geopandas 라이브러리를 사용하여 Shapefile을 작성하는 예시 코드입니다.
import geopandas as gpd # Point 데이터 생성 geometry = gpd.points_from_xy([1, 2], [3, 4]) # 데이터프레임 생성 df = gpd.GeoDataFrame(geometry=geometry) # Shapefile 저장 df.to_file("example.shp")
GeoJSON
GeoJSON은 JSON 형식으로 작성된 공간 데이터입니다. 다음은 Python의 geojson 라이브러리를 사용하여 GeoJSON 파일을 작성하는 예시 코드입니다.
import geojson # Point 데이터 생성 point = geojson.Point((1, 2)) # Feature 생성 feature = geojson.Feature(geometry=point, properties={"name": "example"}) # FeatureCollection 생성 features = [feature] feature_collection = geojson.FeatureCollection(features) # GeoJSON 파일 저장 with open("example.geojson", "w") as f: geojson.dump(feature_collection, f)
KML
KML은 XML 기반의 파일 형식으로, Google Earth에서 사용됩니다. 다음은 Python의 simplekml 라이브러리를 사용하여 KML 파일을 작성하는 예시 코드입니다.
import simplekml # KML 객체 생성 kml = simplekml.Kml() # Point 추가 kml.newpoint(name="example", coords=[(1, 2)]) # KML 파일 저장 kml.save("example.kml")
GPKG
GPKG는 SQLite 기반의 파일 형식으로, 데이터를 하나의 파일 내에서 관리합니다. 다음은 Python의 geopandas 라이브러리를 사용하여 GPKG 파일을 작성하는 예시 코드입니다.
import geopandas as gpd # Point 데이터 생성 geometry = gpd.points_from_xy([1, 2], [3, 4]) # 데이터프레임 생성 df = gpd.GeoDataFrame(geometry=geometry) # GPKG 파일 저장 df.to_file("example.gpkg", driver="GPKG")
각 파일 형식에 따라 사용하는 라이브러리와 작성 방법이 다르기 때문에, 해당 파일 형식에 맞는 라이브러리와 문서를 참고하여 작성해야 합니다.
728x90'<Research> > [용어정리]' 카테고리의 다른 글
Shapefile, GeoJSON, KML, GPKG : 공간 데이터 파일 형식 비교 (0) 2023.03.18 cudf cuml 란? (0) 2023.03.15 CUDA란? (0) 2023.03.15 그래프 (0) 2022.04.28 2022-02-22 (0) 2022.02.22