형상 열 명명 규칙- 'geom'또는 'the_geom'?


22

첫 번째 PostGIS 프로젝트를 시작하고 있으며 다양한 책과 튜토리얼에서 'geom'또는 'the_geom'이라는 지오메트리 열을 보았습니다. 하나는 다른 것보다 더 전통적인가요?

또한 기하학 열에 대해 더 구체적인 이름 대신 'geom'/ 'the_geom'을 사용해야 할 이유가 있습니까? (예 : 피쳐의 중심점에 대한 'centre_point') 기존 db 열에 'the_int'또는 'the_string'이라는 레이블을 지정하지 않습니다. 그러면 왜 형상 열에 레이블을 지정해야합니까?

답변:


17

PostGIS 버전 2.0에서 "geom"은 공통 열 이름입니다. (적어도 나는 문서 등을 본다.) 그 전에는 "the_geom"이었고, 그 이유에 대해서만 추측 할 수있다.

안전하게 사용할 수도 있지만 PostGIS 및 SpatiaLite에서 "geom"을 사용하고 있습니다.

편집 : 질문의 두 번째 부분을 완전히 놓 쳤기 때문입니다.
일반적으로 GIS 소프트웨어에서는 테이블의 형상을 단일 특정 유형, SRID 등으로 제한해야하므로 공통 이름이 편리합니다. 따라서 테이블 이름은 형상 열 이름보다 설명적인 경향이 있습니다. 예를 들어, "geom"열이 각각 "school_zone_polygons", "school_zone_centroids"인 테이블을 찾을 수 있습니다. "geom_polygon", "geom_centroid"열이있는 "school_zones"테이블이 아닙니다.

공통 이름이 있으면 형상 열을 참조 할 때마다 스키마를 확인할 필요가 없습니다.


2
객체 지향 프로그래밍에서는 기사를 추가하여 최상위 객체의 이름을 지정하는 것이 일반적입니다. 이것은 'the_chair'를 나중에 'chair'유형의 인스턴스와 구별합니다. 그러나 PostGIS는 실제로 그런 식으로 작동하지 않으며 단순한 'geom'으로 전환하면 크로스 플랫폼 구현이 쉬워졌습니다.
L_Holcombe 2016 년

예, 나는 그것이 예약어와의 (가능한 미래) 충돌을 막는 것이라고 항상 추측했습니다. 큰 따옴표를 입력하는 것을 좋아하는 사람은 없습니다.
Scro

1
설명해 주셔서 감사합니다. 테이블에 여러 개의 지오메트리 열이있는 경우 (내가 계획하고 있지 않은) 카운터 예제는 이상적인 규칙으로 보입니다. 즉 "geom_polygon", "geom_centroid"등이있는 "school_zones"테이블
Nick

6

"형상"필드의 일반 이름으로 "geom"또는 "the_geom"이 선택된 한 가지 잠재적 이유는 실제로 여러 유형의 형상 (점, 선, 폴리 등)을 하나의 "geom"필드에 저장할 수 있기 때문입니다. 같은 테이블. PostGIS 이메일 목록 에서 논의 된 2005 년으로 돌아갈 수도 있습니다 .

예를 들어, 모든 주택, 거리 및 카운티 경계를 단일 테이블의 동일한 "기하"필드에 저장할 수 있습니다. 다른 방법으로 선택할 수있는 이유는 분명히 있지만 일반적인 "geom"열 이름이 사용 된 이유 일 수 있습니다.

"Geo"가 실제로 선택된 이유에 대한 자세한 내용을 담은 일부 PostGIS 사용자가 있기를 바랍니다.


1

기존 PostGis 테이블을 게시 할 때 Geoserver REST api를 사용할 때 형상 열의 이름이 "geom"이 아닌 경우 REST 명령이 실패합니다.


2
이 동작은 지오 서버의 버그라고 확신합니다. 일단 해결되면 더 이상 고려할 사항이
아닙니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.