command : ogrinfo (enter)


Usage: ogrinfo [--help-general] [-ro] [-q] [-where restricted_where]

               [-spat xmin ymin xmax ymax] [-geomfield field] [-fid fid]

               [-sql statement] [-dialect sql_dialect] [-al] [-so] [-fields={YES/NO}]

               [-geom={YES/NO/SUMMARY}][--formats]

               datasource_name [layer [layer ...]]



이번 포스팅에서는 ogrinfo를 통해서 커맨드라인 명령어를 통해 shape 파일의 속성정보를 확인해보는 예제를 해보려고 합니다.
shape를 하나 골라야죠. 저는 서울시 열린데이터 광장에서 배포하고 있는 shape 파일을 하나 사용해보겠습니다. 

shape 부터 어떻게 생겼는지 확인해보세요. 매우 간단한 녀석입니다.

  


그럼 ogrinfo 명령어로 몇 가지 옵션을 줘서 shape에 대한 정보를 확인해보겠습니다.


1. ogrinfo datasource_name

    shape 파일 이름이 DoDreamWay05_L_W.shp 라고 하면 아래와 같은 결과를 나타냅니다.


    command: ogrinfo DoDreamWay05_L_W.shp

                       INFO: Open of `DoDreamWay05_L_W.shp'

                       using driver `ESRI Shapefile' successful.

                       1: DoDreamWay05_L_W (3D Line String)


   그냥 단순 정보를 표출하는 정도이네요. 그런데 3D Line String으로 나오는건 좀 신기하네요.

   아래 예제에서 왜 그런지 알 수 있습니다. 


2. ogrinfo -al datasource_name

    이번에는 al 이라는 옵션을 추가했는데요. al은 all layers의 약자인거 같네용.

    모든 layer를 출력해줍니다. 


    command: ogrinfo -al DoDreamWay05_L_W.shp

                       ......................

                       ......................

                       ......................

                      OGRFeature(DoDreamWay05_L_W):6

                         NAME (String) = 인왕구간

                         SHAPE_LEN (Real) = 0.03814197215

                        LINESTRING (126.968736743000022 37.568158494999977 0,126.968778293000014 37.568206477999979 0,126.968847138                     

                                              37.568262856999979 0,126.968905840000048 37.568302507999988 0,...........)


    엄청 길게 나와요. 모든 Line을 이루는 좌표를 출력해주는군요. 1번 예제에서 3D Line String으로 나오는 이유가 위에 있죠. LINESTRING에 보면 경도, 위도, 0 

    으로 나오고 있어요. 높이 값을 포함할 수 있는 구조로 기록되어 있어서 3D Line String 인것 같아요. 

    

3. ogrinfo -al -geom=NO datasource_name

    이번에는 2번 예제에서 -geom=NO 라는 옵션을 추가했습니다. 2번 예제에서 엄청 길게 나오는 LINESTRING을 geometry 정보라고 하는데요.

    옵션으로 geom=NO 라고 주면 geometry 정보는 빼고 모든 레이어의 정보를 출력합니다.

  

    command: ogrinfo -al -geom=NO DoDreamWay05_L_W.shp


INFO: Open of `DoDreamWay05_L_W.shp'

      using driver `ESRI Shapefile' successful.


Layer name: DoDreamWay05_L_W

Geometry: 3D Line String

Feature Count: 7

Extent: (126.957572, 37.548414) - (127.011344, 37.598069)

Layer SRS WKT:

GEOGCS["GCS_WGS_1984",

    DATUM["WGS_1984",

        SPHEROID["WGS_84",6378137.0,298.257223563]],

    PRIMEM["Greenwich",0.0],

    UNIT["Degree",0.0174532925199433]]

NAME: String (254.0)

SHAPE_LEN: Real (19.11)

OGRFeature(DoDreamWay05_L_W):0

  NAME (String) = 낙산구간

  SHAPE_LEN (Real) = 0.02314130869


OGRFeature(DoDreamWay05_L_W):1

  NAME (String) = 남산구간

  SHAPE_LEN (Real) = 0.04646920571

                     ....................

                     ....................


     2번 예제보다 파악하기 쉬워졌네요. 반드시 geometry 정보가 필요한 것이 아니라면 -geom=NO 옵션을 주세요. 


GDAL : ogrinfo example : al, geom option - http://ngee.tistory.com/644

GDAL : ogrinfo example : so, where option - http://ngee.tistory.com/645


넘 길어져서 2개로 나눠서 작성합니다아~~ 

+ Recent posts