Читаем MySQL: руководство профессионала полностью

MultiPoint прост, если никакие два из значений Point не равны (имеют идентичные координатные значения).

Граница MultiPoint пустой набор.

<p id="aRan_0865819802">4.2.10. Класс MultiCurve</p>

MultiCurve совокупность геометрии, составленная из элементов Curve. MultiCurve non-instantiable класс.

Свойства MultiCurve

MultiCurve одномерная геометрия.

MultiCurve проста, если (и только если) все элементы просты. Единственные пересечения между любыми двумя элементами происходят в пунктах (точках), которые находятся на границах обоих элементов.

Граница MultiCurve получена, применяя правило mod 2 union (также известно как правило odd-even): точка находится в границе MultiCurve, если она находится в границах нечетного числа элементов MultiCurve.

MultiCurve закрыта, если все элементы закрыты.

Граница закрытой MultiCurve всегда пуста.

<p id="aRan_5392560427">4.2.11. Класс MultiLineString</p>

MultiLineString совокупность геометрии MultiCurve, составленная из элементов LineString.

Примеры MultiLineString

На карте области MultiLineString мог бы представлять систему рек или систему дорог.

<p id="aRan_4636804710">4.2.12. Класс MultiSurface</p>

MultiSurface совокупность геометрии, составленная из поверхностных элементов. MultiSurface non-instantiable класс. Есть только instantiable подкласс MultiPolygon.

Утверждения MultiSurface

Две поверхности MultiSurface не имеют никаких внутренностей, которые пересекаются.

Два элемента MultiSurface имеют границы, которые пересекаются в конечном числе пунктов (точек).

<p id="aRan_7217641918">4.2.13. Класс MultiPolygon</p>

MultiPolygon объект MultiSurface, составленный из элементов Polygon.

Примеры MultiPolygon

На карте области MultiPolygon мог бы представлять систему озер.

Утверждения MultiPolygon

MultiPolygon не имеет никаких двух элементов Polygon с внутренностями, которые пересекаются.

MultiPolygon не имеет никаких двух элементов Polygon, которые пересекаются (пересечение также запрещается предыдущим утверждением), или же касаются в бесконечном числе (точек).

MultiPolygon, возможно, имеет вырезы, выбросы или проколы. MultiPolygon регулярен, закрытый набор отметок.

MultiPolygon, который имеет больше чем один Polygon, имеет внутренности, которые не связаны. Число связанных внутренних компонентов MultiPolygon равно числу значений Polygon в MultiPolygon.

Свойства MultiPolygon

MultiPolygon двумерная геометрия.

Граница MultiPolygon набор закрытых кривых (значения LineString), соответствующих границам элементов Polygon.

Каждая Curve в границе MultiPolygon находится в границе точно одного элемента Polygon.

Каждая Curve в границе элемента Polygon находится в границе MultiPolygon.

<p id="aRan_0867245983">4.3. Обеспечиваемые пространственные форматы данных</p>

Этот раздел описывает стандартные пространственные форматы данных, которые используются, чтобы представить объекты геометрии в запросах. Это:

Well-Known Text (WKT).

Well-Known Binary (WKB).

Внутренне MySQL сохраняет значения геометрии в формате, который не идентичен любому формату WKT или WKB.

<p id="aRan_6732478564">4.3.1. Well-Known Text (WKT)</p>

Представление геометрии Well-Known Text (WKT) разработано, чтобы обмениваться данными геометрии в форме ASCII.

Примеры WKT представлений объектов геометрии:

Point:POINT(15 20)

Обратите внимание, что отметка определена без отделения запятой.

LineString с четырьмя пунктами:LINESTRING(0 0, 10 10, 20 25, 50 60)

Обратите внимание, что пары координат отделяются запятыми.

Polygon с одним внешним кольцом и одним внутренним кольцом:POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5 5))

MultiPoint с тремя значениями Point:MULTIPOINT(0 0, 20 20, 60 60)

MultiLineString с двумя значениями LineString:MULTILINESTRING((10 10, 20 20), (15 15, 30 15))

MultiPolygon с двумя значениями Polygon:MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0)),((5 5,7 5,7 7,5 7, 5 5)))

GeometryCollection, состоящий из двух значений Point и одного LineString:GEOMETRYCOLLECTION(POINT(10 10), POINT(30 30), LINESTRING(15 15, 20 20))

Грамматика Backus-Naur, которая определяет формальные правила вывода для записи значений WKT, может быть найдена в спецификации OpenGIS.

<p id="aRan_9580186304">4.3.2. Well-Known Binary (WKB)</p>

Представление геометрии Well-Known Binary (WKB) определено спецификацией OpenGIS. Это также определено в ISO SQL/MM Part 3: Spatial standard.

WKB используется, чтобы обмениваться данными геометрии как двоичными потоками, представляемыми значениями BLOB, содержащими геометрическую информацию WKB.

WKB использует однобайтовые целые числа без знака, целые числа без знака с четырьмя байтами и числа двойной точности с восемью байтами (IEEE 754). Байт равен восьми битам.

Например, значение WKB, которое соответствует POINT(1 1) состоит из этой последовательности 21 байтов (каждый представляется здесь двумя шестнадцатеричными цифрами):0101000000000000000000F03F000000000000F03F

Последовательность может быть разделена на эти компоненты:Byte order : 01

WKB type : 01000000

X: 000000000000F03F

Y: 000000000000F03F

Представление компонента следующее:

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT