11.5.2.1 공간 클래스 계층
기하학 클래스의 계층은 다음과 같이 정의되어 있습니다.
Geometry(인스턴스화 불가능)Point(인스턴스화 가능)Curve(인스턴스화 불가능)LineString(인스턴스화 가능)LineLinearRing
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 는 인스턴스화 할 수있는 클래스입니다.