разработке публично доступных концептуальных решений, которые могут быть полезны со всеми видами прикладных программ, которые управляют пространственными данными. OGC поддерживает Web-сайт http://www.opengis.org/.
В 1997 Open Geospatial Consortium опубликовал OpenGIS Simple Features Specifications For SQL. Эта спецификация доступна на http://www.opengis.org/docs/99-049.pdf.
MySQL осуществляет подмножество типов SQL with Geometry Types, среду, предложенную OGC. Этот термин относится к SQL-среде, которая была расширена с набором типов геометрии. Оцененный геометрией SQL столбец выполнен как столбец, который имеет тип геометрии. Спецификация описывает набор SQL-типов геометрии также, как функций на этих типах, чтобы создавать и анализировать значения геометрии.
Географическее свойство состоит в том, что есть что-нибудь в мире, имеющее расположение. Свойство может быть:
Объект. Например, гора, водоем, город.
Пустота. Например, область почтового индекса, тропики.
Определимое расположение. Например, дорога, как специфическое место, где два прохода пересекаются.
Некоторые документы используют термин geospatial feature, чтобы обратиться к географическим свойствам.
Geometry другое слово, которое обозначает географическее свойство. Первоначально геометрия означала измерение земли. Другое значение исходит от картографии, оно касается геометрических свойств, которые картографы используют, чтобы отобразить мир.
Эта глава использует все эти условия синонимично: geographic feature, geospatial feature, feature или geometry. Обычно используется геометрия, определенная как отметка или набор пунктов (точек), представляющих что-нибудь в мире, что имеет расположение.
4.2. Модель геометрии OpenGIS
Набор типов геометрии, предложенных окружением OGC SQL with Geometry Types основан на OpenGIS Geometry Model. В этой модели каждый геометрический объект имеет следующие общие реквизиты:
Это связано с пространственной системой ссылки, которая описывает координаты места, в котором объект определен.
Это принадлежит некоторому классу геометрии.
4.2.1. Иерархия класса геометрии
Классы геометрии определяют свою иерархию следующим образом:
Geometry (non-instantiable)
Point (instantiable)
Curve (non-instantiable)
LineString (instantiable)
Line
LinearRing
Surface (non-instantiable)
Polygon (instantiable)
GeometryCollection (instantiable)
MultiPoint (instantiable)
MultiCurve (non-instantiable)
MultiLineString (instantiable)
MultiSurface (non-instantiable)
MultiPolygon (instantiable)
Невозможно создать объекты в non-instantiable классах. Возможно создать объекты в классах instantiable. Все классы имеют реквизиты, и классы instantiable могут также иметь утверждения (правила, которые определяют допустимые образцы класса).
Geometry базовый класс. Это абстрактный класс. Подклассы Geometry ограничены нуль-, одно- и двумерными геометрическими объектами, которые существуют в двумерном координатном пространстве. Все instantiable классы геометрии определены так, чтобы допустимые образцы класса были закрытой топологии (то есть, все определенные конфигурации включают их границу).
Основной класс Geometry имеет подклассы для Point, Curve, Surface и GeometryCollection:
Point представляет нуль-мерные объекты.
Curve представляет одномерные объекты и имеет подкласс LineString с под-подклассами Line и LinearRing.
Surface разработан для двумерных объектов и имеет подкласс Polygon.
GeometryCollection имеет специальные коллекции для нуль-, одно- и двумерных объектов, известные как MultiPoint, MultiLineString и MultiPolygon для конфигураций моделирования, соответствующих совокупностям Points, LineStrings и Polygons, соответственно. MultiCurve и MultiSurface представляются как абстрактные суперклассы, которые обобщают интерфейсы совокупности, чтобы обработать Curves и Surfaces.
Geometry, Curve, Surface, MultiCurve и MultiSurface определены как non-instantiable классы. Они определяют общий набор методов для их подклассов и включены для расширяемости.