11.5.2.1 공간 클래스 계층
기하학 클래스의 계층은 다음과 같이 정의되어 있습니다.
Geometry
(인스턴스화 불가능)Point
(인스턴스화 가능)Curve
(인스턴스화 불가능)LineString
(인스턴스화 가능)Line
LinearRing
Surface
(인스턴스화 불가능)Polygon
(인스턴스화 가능)
GeometryCollection
(인스턴스화 가능)MultiPoint
(인스턴스화 가능)MultiCurve
(인스턴스화 불가능)MultiLineString
(인스턴스화 가능)
MultiSurface
(인스턴스화 불가능)MultiPolygon
(인스턴스화 가능)
인스턴스화 할 수없는 클래스 개체를 만들 수 없습니다. 인스턴스화 가능한 클래스의 개체를 만들 수 있습니다. 어떤 클래스 나 속성을 갖지만 인스턴스화 가능한 클래스는 또한 표명 (유효한 클래스 인스턴스를 정의하는 규칙)도 가질 수 있습니다.
Geometry
는 기본 클래스입니다. 이것은 추상 클래스입니다. Geometry
의 인스턴스화 가능 서브 클래스는 2 차원 좌표 공간 내에 존재하는 0 차원, 1 차원 및 2 차원 기하학적 객체로 제한됩니다. 인스턴스화 가능한 기하 클래스는 모든 기하 클래스의 유효한 인스턴스가 위상으로 닫혀있다 (즉, 정의 된 모든 기하 도형에 경계 포함)으로 정의되어 있습니다.
Geometry
기본 클래스는 Point
, Curve
, Surface
및 GeometryCollection
의 서브 클래스가 있습니다.
Point
는 0 차원 객체를 나타냅니다.Curve
는 1 차원 객체를 나타내며 그 서브 클래스LineString
은Line
및LinearRing
를 서브집니다.Surface
는 2 차원 오브젝트 용으로 설계된 것으로,Polygon
을 서브 클래스가 있습니다.GeometryCollection
에는MultiPoint
,MultiLineString
,MultiPolygon
는 0,1,2 차원의 특수화 컬렉션 클래스가 준비되어있어 각각Points
,LineStrings
,Polygons
컬렉션에 해당하는 기하 도형을 모델링하고 있습니다.MultiCurve
과MultiSurface
이 컬렉션 인터페이스를 일반화하고Curves
및Surfaces
를 처리 할 수 있도록 추상 슈퍼 클래스로서 도입 된 것입니다.
Geometry
, Curve
, Surface
, MultiCurve
및 MultiSurface
는 인스턴스화 할 수없는 클래스로 정의되어 있습니다. 이들은 서브 클래스에 공통되는 일련의 메소드를 정의하고 있으며, 향후 확장에 포함됩니다.
Point
, LineString
, Polygon
, GeometryCollection
, MultiPoint
, MultiLineString
, 그리고 MultiPolygon
는 인스턴스화 할 수있는 클래스입니다.