Чтение онлайн

на главную - закладки

Жанры

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

Паутов Алексей В.

Шрифт:

Преобразовывает строковое значение из WKT-представления во внутренний формат геометрии и возвращает результат. Ряд специфических для типа функций также обеспечивается, типа PointFromText и LineFromText.

GeomFromWKB(wkb[,srid])

Преобразовывает двоичное значение из WKB-представления во внутренний формат геометрии и возвращает результат. Ряд специфических для типа функций также обеспечивается, типа PointFromWKB и LineFromWKB.

Функции 4.5.2. Geometry

Каждая функция, которая принадлежит к этой группе, берет значение геометрии как параметр и возвращает некоторое количественное или качественное свойство геометрии. Некоторые функции ограничивают их тип параметра. Такие функции возвращают NULL, если параметр имеет неправильный тип геометрии. Например, Area возвращает NULL, если тип объекта не является ни Polygon, ни MultiPolygon.

4.5.2.1. Общие функции геометрии

Функции, перечисленные в этом разделе, не ограничивают их параметр и принимают значение геометрии любого типа.

Dimension(g)

Возвращается свойственная размерность геометрии g. Результат может быть 0, 1 или 2. Смысл этих значений дан в разделе " 4.2.2. Класс Geometry".mysql> SELECT Dimension(GeomFromText('LineString(1 1,2 2)'));

+------------------------------------------------+

| Dimension(GeomFromText('LineString(1 1,2 2)')) |

+------------------------------------------------+

| 1 |

+------------------------------------------------+

Envelope(g)

Возвращается минимальный ограничительный прямоугольник (MBR) для геометрии g. Результат возвращен как значение Polygon.

Многоугольник определен пунктами (точками) угла блока ограничения:POLYGON((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))

mysql> SELECT AsText(Envelope(GeomFromText('LineString(1 1,2 2)')));

+-------------------------------------------------------+

| AsText(Envelope(GeomFromText('LineString(1 1,2 2)'))) |

+-------------------------------------------------------+

| POLYGON((1 1,2 1,2 2,1 2,1 1)) |

+-------------------------------------------------------+

GeometryType(g)

Возвращает как строку имя типа геометрии, образец которой является членом g. Имя соответствует одному из instantiable подклассов Geometry.mysql> SELECT GeometryType(GeomFromText('POINT(1 1)'));

+------------------------------------------+

| GeometryType(GeomFromText('POINT(1 1)')) |

+------------------------------------------+

| POINT |

+------------------------------------------+

SRID(g)

Возвращается целое число, указывающее пространственный ID системы ссылки для геометрии g.

В MySQL значение SRID только целое число, связанное со значением геометрии. Все вычисления выполнены, принимая евклидову (плоскую) геометрию. mysql> SELECT SRID(GeomFromText('LineString(1 1,2 2)',101));

+-----------------------------------------------+

| SRID(GeomFromText('LineString(1 1,2 2)',101)) |

+-----------------------------------------------+

| 101 |

+-----------------------------------------------+

Спецификация OpenGIS также определяет следующие функции, которые MySQL не выполняет:

Boundary(g)

Возвращает геометрию, которая является замкнутым выражением комбинаторной границы геометрии g.

IsEmpty(g)

Возвращается 1, если геометрия g пустая геометрия, 0, если это не пусто, и 1, если параметр NULL. Если геометрия пуста, это представляет пустой набор точек.

IsSimple(g)

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

Возвращается 1, если геометрия g не имеет никаких аномальных геометрических пунктов (точек), типа самопересечения или самокасания. IsSimple возвращает 0, если параметр не прост, и 1, если он NULL.

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

4.5.2.2. Функции Point

Point состоит из координат X и Y, которые могут быть получены, используя следующие функции:

X(p)

Возвращает значение X-координаты для p как число двойной точности.mysql> SET @pt = 'Point(56.7 53.34)';

mysql> SELECT X(GeomFromText(@pt));

+----------------------+

| X(GeomFromText(@pt)) |

+----------------------+

| 56.7 |

+----------------------+

Y(p)

Возвращает значение Y-координаты для p как число двойной точности.mysql> SET @pt = 'Point(56.7 53.34)';

mysql> SELECT Y(GeomFromText(@pt));

+----------------------+

| Y(GeomFromText(@pt)) |

+----------------------+

Популярные книги

Царь поневоле. Том 2

Распопов Дмитрий Викторович
5. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Царь поневоле. Том 2

На границе империй. Том 10. Часть 2

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
5.00
рейтинг книги
На границе империй. Том 10. Часть 2

Кодекс Охотника. Книга XIII

Винокуров Юрий
13. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
7.50
рейтинг книги
Кодекс Охотника. Книга XIII

LIVE-RPG. Эволюция 2

Кронос Александр
2. Эволюция. Live-RPG
Фантастика:
социально-философская фантастика
героическая фантастика
киберпанк
7.29
рейтинг книги
LIVE-RPG. Эволюция 2

Отверженный VI: Эльфийский Петербург

Опсокополос Алексис
6. Отверженный
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Отверженный VI: Эльфийский Петербург

Волк 5: Лихие 90-е

Киров Никита
5. Волков
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волк 5: Лихие 90-е

Недомерок. Книга 5

Ермоленков Алексей
5. РОС: Недомерок
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Недомерок. Книга 5

Измена. Без тебя

Леманн Анастасия
1. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Без тебя

Светлая ведьма для Темного ректора

Дари Адриана
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Светлая ведьма для Темного ректора

Новый Рал 3

Северный Лис
3. Рал!
Фантастика:
попаданцы
5.88
рейтинг книги
Новый Рал 3

Последний попаданец 9

Зубов Константин
9. Последний попаданец
Фантастика:
юмористическая фантастика
рпг
5.00
рейтинг книги
Последний попаданец 9

Наследник и новый Новосиб

Тарс Элиан
7. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник и новый Новосиб

Черный маг императора

Герда Александр
1. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Черный маг императора

Королевская Академия Магии. Неестественный Отбор

Самсонова Наталья
Любовные романы:
любовно-фантастические романы
8.22
рейтинг книги
Королевская Академия Магии. Неестественный Отбор