- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
MySQL: руководство профессионала - Алексей Паутов
Шрифт:
Интервал:
Закладка:
Примеры MultiPoint:
На всемирной карте MultiPoint мог бы представлять цепочку маленьких изолированных островов.
На городской карте MultiPoint мог бы представлять выходы.
Свойства MultiPoint
MultiPoint нульмерная геометрия.
MultiPoint прост, если никакие два из значений Point не равны (имеют идентичные координатные значения).
Граница MultiPoint пустой набор.
4.2.10. Класс MultiCurve
MultiCurve совокупность геометрии, составленная из элементов Curve. MultiCurve non-instantiable класс.
Свойства MultiCurve
MultiCurve одномерная геометрия.
MultiCurve проста, если (и только если) все элементы просты. Единственные пересечения между любыми двумя элементами происходят в пунктах (точках), которые находятся на границах обоих элементов.
Граница MultiCurve получена, применяя правило mod 2 union (также известно как правило odd-even): точка находится в границе MultiCurve, если она находится в границах нечетного числа элементов MultiCurve.
MultiCurve закрыта, если все элементы закрыты.
Граница закрытой MultiCurve всегда пуста.
4.2.11. Класс MultiLineString
MultiLineString совокупность геометрии MultiCurve, составленная из элементов LineString.
Примеры MultiLineString
На карте области MultiLineString мог бы представлять систему рек или систему дорог.
4.2.12. Класс MultiSurface
MultiSurface совокупность геометрии, составленная из поверхностных элементов. MultiSurface non-instantiable класс. Есть только instantiable подкласс MultiPolygon.
Утверждения MultiSurface
Две поверхности MultiSurface не имеют никаких внутренностей, которые пересекаются.
Два элемента MultiSurface имеют границы, которые пересекаются в конечном числе пунктов (точек).
4.2.13. Класс MultiPolygon
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.
4.3. Обеспечиваемые пространственные форматы данных
Этот раздел описывает стандартные пространственные форматы данных, которые используются, чтобы представить объекты геометрии в запросах. Это:
Well-Known Text (WKT).
Well-Known Binary (WKB).
Внутренне MySQL сохраняет значения геометрии в формате, который не идентичен любому формату WKT или WKB.
4.3.1. Well-Known Text (WKT)
Представление геометрии 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.
4.3.2. Well-Known Binary (WKB)
Представление геометрии 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
Представление компонента следующее:
Byte order может быть 0 или 1, чтобы указать little-endian или big-endian формат хранения. little-endian и big-endian также известны как Network Data Representation (NDR) и External Data Representation (XDR), соответственно.
WKB type задает код, который указывает тип геометрии. Значения от 1 до 7 указывают Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon и GeometryCollection.
Значение Point имеет координаты X и Y, каждпя представляемая как значение двойной точности.
WKB-значения для более сложных значений геометрии представляются более сложными структурами данных, как детализировано в спецификации OpenGIS.
4.4. Создание пространственной базы данных MySQL
Этот раздел описывает типы данных, которые Вы можете использовать для представления пространственных данных в MySQL и функции, доступные для создания и поиска пространственных значений.
4.4.1. Пространственные типы данных в MySQL
MySQL имеет типы данных, которые соответствуют классам OpenGIS. Часть этих типов хранит одиночные значения геометрии:
GEOMETRY
POINT
LINESTRING
POLYGON
GEOMETRY может сохранять значения геометрии любого типа. Другие типы с одиночным значением (POINT, LINESTRING и POLYGON) ограничивают их значения специфическим типом геометрии.
Другие типы данных хранят совокупности значений:
MULTIPOINT
MULTILINESTRING
MULTIPOLYGON
GEOMETRYCOLLECTION
GEOMETRYCOLLECTION может сохранять совокупность объектов любого типа. Другие типы совокупности (MULTIPOINT, MULTILINESTRING, MULTIPOLYGON и GEOMETRYCOLLECTION) ограничивают элементы совокупности имеющими специфический тип геометрии.
4.4.2. Создание пространственных значений
Этот раздел описывает, как создать пространственные значения, использующие функции Well-Known Text и Well-Known Binary, которые определены в стандарте OpenGIS, и применить MySQL-функции.
4.4.2.1. Создание значений геометрии через функции WKT
MySQL обеспечивает ряд функций, которые берут как входные параметры представление Well-Known Text и, факультативно, пространственный идентификатор системы ссылки (SRID). Они возвращают соответствующую геометрию.
GeomFromText() принимает WKT любого типа геометрии как первый параметр. Реализация также обеспечивает специфические для типа функции для конструкции значений геометрии каждого типа.
GeomCollFromText(wkt[,srid]), GeometryCollectionFromText(wkt[,srid])
Создает значение GEOMETRYCOLLECTION, использующее WKT представление и SRID.
GeomFromText(wkt[,srid]), GeometryFromText(wkt[,srid])
Создает значение геометрии из любого типа, использующего WKT представление и SRID.
LineFromText(wkt[,srid]), LineStringFromText(wkt[,srid])
Создает значение LINESTRING, использующее WKT представление и SRID.
MLineFromText(wkt[,srid]), MultiLineStringFromText(wkt[,srid])
Создает значение MULTILINESTRING, использующее WKT представление и SRID.
MPointFromText(wkt[,srid]), MultiPointFromText(wkt[,srid])
Создает значение MULTIPOINT, использующее WKT представление и SRID.
MPolyFromText(wkt[,srid]), MultiPolygonFromText(wkt[,srid])
Создает значение MULTIPOLYGON, использующее WKT представление и SRID.
PointFromText(wkt[,srid])
Создает значение POINT, использующее WKT представление и SRID.
PolyFromText(wkt[,srid]), PolygonFromText(wkt[,srid])

