Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«MySQL: руководство профСссионала». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 21

Автор АлСксСй ΠŸΠ°ΡƒΡ‚ΠΎΠ²

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 классы. Они ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для ΠΈΡ… подклассов ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ для Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΠΈ.

Point, LineString, Polygon, GeometryCollection, MultiPoint, MultiLineString ΠΈ MultiPolygon instantiable классы.

4.2.2. Класс Geometry

Geometry прСдставляСт собой ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ класс ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ. Π­Ρ‚ΠΎ non-instantiable класс, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ряд Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ‰ΠΈΠΌΠΈ для всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, созданных Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· подклассов Geometry. Π­Ρ‚ΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ описаны Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ спискС. БпСцифичСскиС подклассы ΠΈΠΌΠ΅ΡŽΡ‚ ΠΈΡ… собствСнныС спСцифичСскиС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹, описанныС ΠΏΠΎΠ·ΠΆΠ΅.

Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹:


type. КаТдая гСомСтрия ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· instantiable классов Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ.


SRID ΠΈΠ»ΠΈ Spatial Reference Identifier (пространствСнный ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ссылки). Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ систСму ссылки Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, которая описываСт ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠ΅ пространство, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½. Π’ MySQL Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ SRID Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»ΠΎΠ΅ число, связанноС со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ. ВсС вычислСния Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹, принимая Π•Π²ΠΊΠ»ΠΈΠ΄ΠΎΠ²Ρƒ (ΠΏΠ»ΠΎΡΠΊΡƒΡŽ) Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ.


ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° Π² пространствСнной систСмС ссылки, прСдставляСмая ΠΊΠ°ΠΊ числа Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности (с восьмью Π±Π°ΠΉΡ‚Π°ΠΌΠΈ). ВсС Π½Π΅ пустыС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄Π½Ρƒ ΠΏΠ°Ρ€Ρƒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ (X,Y). ΠŸΡƒΡΡ‚Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π΅ содСрТат Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚.

ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ связаны со SRID. НапримСр, Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСмах ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π΅ ΠΆΠ΅ самыС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ расстояниС Π½Π° плоской систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΈ расстояния Π½Π° гСоцСнтричСской систСмС (Π½Π° повСрхности Π—Π΅ΠΌΠ»ΠΈ) Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ.


Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ, Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹ΠΉ ΠΈ внСшний.

КаТдая гСомСтрия Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Π’Π½Π΅ΡˆΠ½Π΅Π΅, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, это всС мСсто, Π½Π΅ занятоС Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠ΅ΠΉ. Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅, соотвСтствСнно, мСсто, занятоС Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠ΅ΠΉ. Π“Ρ€Π°Π½ΠΈΡ†Π° находится ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ ΠΈ внСшним.


MBR (Minimum Bounding Rectangle) ΠΈΠ»ΠΈ Envelope (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚). Π­Ρ‚ΠΎ гСомСтрия ограничСния, сформированная ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠΌ ΠΈ максимумом (X,Y):((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))


ЯвляСтся Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ простым ΠΈΠ»ΠΈ Π½Π΅Ρ‚. ЗначСния Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² (LineString, MultiPoint, MultiLineString) ΡΠ²Π»ΡΡŽΡ‚ΡΡ простыми ΠΈΠ»ΠΈ Π½Π΅ простыми. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚ΠΈΠΏ опрСдСляСт собствСнныС утвСрТдСния, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ простым ΠΈΠ»ΠΈ Π½Π΅ простым.


Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΎ Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅Ρ‚. ЗначСния Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² (LineString, MultiString) Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ ΠΈΠ»ΠΈ Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚ΠΈΠΏ опрСдСляСт собствСнныС утвСрТдСния.


ЯвляСтся Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пустым ΠΈΠ»ΠΈ Π½Π΅ пустым: гСомСтрия пуста, Ссли Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΎΡ‡Π΅ΠΊ. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ, Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΠΈ Π³Ρ€Π°Π½ΠΈΡ†Π° пустой Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ NULL). ΠŸΡƒΡΡ‚Π°Ρ гСомСтрия ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ всСгда простой ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ 0.


Π Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ. ГСомСтрия ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ 0, 1 ΠΈΠ»ΠΈ 2:


0 для Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Π±Π΅Π· Π΄Π»ΠΈΠ½Ρ‹ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ области.


1 для Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ с Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΈ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ для пустой Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ.


2 для Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ с Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Point ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ 0. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ LineString ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ 1. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Polygon ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ 2. РазмСрности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² MultiPoint, MultiLineString ΠΈ MultiPolygon Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ размСрности Ρ‚Π΅Ρ… элСмСнтов, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ΠΈ состоят.

4.2.3. Класс Point

Point гСомСтрия, которая прСдставляСт ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠ΅ располоТСниС Π² ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠΌ пространствС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Point


Π’ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ ΠΌΠΈΡ€Π° с ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π³ΠΎΡ€ΠΎΠ΄Π°ΠΌΠΈ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Point ΠΌΠΎΠ³ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π³ΠΎΡ€ΠΎΠ΄.


На городской ΠΊΠ°Ρ€Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Point ΠΌΠΎΠ³ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠ±ΡƒΡΠ½ΡƒΡŽ остановку (Stylus совСтуСт "bus stop" ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ "останов ΡˆΠΈΠ½Ρ‹", Π·Π°Ρ€Π°Π·Π° с русскими программистами).

Бвойства Point


Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ X.


Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Y.


Point ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ°ΠΊ Π½ΡƒΠ»ΡŒ-мСрная гСомСтрия.


Π“Ρ€Π°Π½ΠΈΡ†Π΅ΠΉ Point являСтся пустой Π½Π°Π±ΠΎΡ€.

4.2.4. Класс Curve

Curve одномСрная гСомСтрия, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прСдставляСмая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ‚ΠΎΡ‡Π΅ΠΊ. БпСцифичСскиС подклассы Curve ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ‚ΠΈΠΏ интСрполяции ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ (Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ). Curve non-instantiable.

Бвойства Curve


Curve ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ².


Curve ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ°ΠΊ одномСрная гСомСтрия.


Curve проста, Ссли Π½Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Ρƒ ΠΆΠ΅ ΡΠ°ΠΌΡƒΡŽ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ Π΄Π²Π°ΠΆΠ΄Ρ‹.


Curve Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°, Ссли ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π²Π½Π° ΠΎΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅.


Π“Ρ€Π°Π½ΠΈΡ†Π° Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Curve пуста.


Π“Ρ€Π°Π½ΠΈΡ†Π° Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Curve состоит ΠΈΠ· Π΄Π²ΡƒΡ… ΠΎΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ.


Curve, которая являСтся простой ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ, LinearRing.

4.2.5. Класс LineString

LineString это Curve с Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ интСрполяциСй ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ (Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ LineString:


На всСмирной ΠΊΠ°Ρ€Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ LineString ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π΅ΠΊΠΈ.


Π’ городской ΠΊΠ°Ρ€Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ LineString ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Ρ‹.

Бвойства LineString


LineString ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ сСгмСнтов, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°Ρ€ΠΎΠΉ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ².


LineString являСтся Line, Ссли это состоит ΠΈΠ· Ρ‚ΠΎΡ‡Π½ΠΎ Π΄Π²ΡƒΡ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ².


LineString являСтся LinearRing, Ссли Π·Π°ΠΊΡ€Ρ‹Ρ‚Π° ΠΈ проста.

4.2.6. Класс Surface

Surface двумСрная гСомСтрия. Π­Ρ‚ΠΎ non-instantiable класс. Π•ΡΡ‚ΡŒ instantiable подкласс: Polygon.

Бвойства Surface


Surface ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ двумСрная гСомСтрия.


OpenGIS опрСдСляСт простой Surface ΠΊΠ°ΠΊ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ, которая состоит ΠΈΠ· ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠΉ Π·Π°ΠΏΠ»Π°Ρ‚Ρ‹, связанной с ΠΎΠ΄Π½ΠΎΠΉ внСшнСй Π³Ρ€Π°Π½ΠΈΡ†Π΅ΠΉ ΠΈ Π½ΡƒΠ»Π΅ΠΌ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ.


Π“Ρ€Π°Π½ΠΈΡ†Π° простого Surface прСдставляСт собой Π½Π°Π±ΠΎΡ€ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΡ€ΠΈΠ²Ρ‹Ρ…, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… внСшним ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌ.

4.2.7. Класс Polygon

Polygon плоский Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Surface, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΡ‚ΠΎΡ€ΠΎΠ½Π½ΡŽΡŽ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ. Π­Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠΉ внСшнСй Π³Ρ€Π°Π½ΠΈΡ†Π΅ΠΉ ΠΈ Π½ΡƒΠ»Π΅ΠΌ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ, Π³Π΄Π΅ каТдая внутрСнняя Π³Ρ€Π°Π½ΠΈΡ†Π° опрСдСляСт отвСрстиС Π² Polygon.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Polygon.


На ΠΊΠ°Ρ€Ρ‚Π΅ области ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Polygon ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ лСса, Ρ€Π°ΠΉΠΎΠ½Ρ‹ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

УтвСрТдСния Polygon.


Π“Ρ€Π°Π½ΠΈΡ†Π° Polygon состоит ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² LinearRing (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² LineString, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ простыми ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ внСшниС ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹.


Polygon Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… пСрСсСчСний. ΠšΠΎΠ»ΡŒΡ†Π° Π² Π³Ρ€Π°Π½ΠΈΡ†Π΅ Polygon ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°Ρ‚ΡŒΡΡ Π² Point, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ тангСнс.


Polygon Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… строк, выбросов ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΊΠΎΠ»ΠΎΠ².


Polygon ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ структуру, которая являСтся связанным Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ.


Polygon ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ отвСрстия. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Polygon с отвСрстиями Π½Π΅ связан. КаТдоС отвСрстиС опрСдСляСт связанный ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π²Π½Π΅ΡˆΠ½ΠΈΡ….

ΠŸΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ утвСрТдСния Π΄Π΅Π»Π°ΡŽΡ‚ Polygon простой Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠ΅ΠΉ.

4.2.8. Класс GeometryCollection

GeometryCollection гСомСтрия, которая являСтся ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ большСго количСства ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ любого класса.

ВсС элСмСнты Π² GeometryCollection Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ самой пространствСнной систСмС ссылки (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ самой систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚). НС имССтся Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° элСмСнты GeometryCollection, хотя подклассы GeometryCollection, описанных Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ члСнство. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ основаны Π½Π°:


Π’ΠΈΠΏ элСмСнта (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, MultiPoint ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ элСмСнты Point).


Π Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ.


ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π½Π° ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ пространствСнного пСрСкрытия ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами.

4.2.9. Класс MultiPoint

MultiPoint ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, составлСнная ΠΈΠ· элСмСнтов Point. ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ (Ρ‚ΠΎΡ‡ΠΊΠΈ) всСгда Π½Π΅ связаны ΠΈΠ»ΠΈ упорядочСны.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ MultiPoint:


На всСмирной ΠΊΠ°Ρ€Ρ‚Π΅ MultiPoint ΠΌΠΎΠ³ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… островов.