Page 79 - 6430
P. 79

синтаксис SQL, як у випадку звичайної, непросторових таблиці.
                  У  разі  просторових  обмежень  можна  використовувати  наступні

                  оператори:
                           &  &  -  цей  оператор  використовується  для  перевірки,  чи
                  перетинаються кордони однієї геометрії з межами іншої.

                           ~ = - цей оператор перевіряє, чи дві геометрії геометрично
                  ідентичними. Наприклад, 'POLYGON ((0 0,1 1,1 0,0 0))' збігається
                  з 'POLYGON ((0 0,1 1,1 0,0 0))'.

                           = - Простіший оператор. Він перевіряє тільки збіг кордонів
                  геометрій.
                           Ви  можете  використовувати  ці  оператори  в  запитах.
                  Зауважимо, що якщо геометрії і обхвати одночасно вказуються у

                  рядку  команди  SQL,  ви  повинні  явно  вказувати  необхідність
                  конвертації  рядки  в  геометрію  за  допомогою  функції
                  "GeomFromText ()". Наприклад:

                           SELECT road_id, road_name
                           FROM roads
                           WHERE  roads_geom  ~  =  GeomFromText  ('LINESTRING
                  (191232 243118,191108 243242)', -1);

                           Цей запит поверне єдину запис таблиці "ROADS_GEOM",
                  геометрія якої дорівнює вказаному значенню.
                           Коли  використовується  оператор  "&&",  ви  можете  для

                  порівняння  вказувати  як  BOX3D  так  і  GEOMETRY.  Зрозуміло,
                  якщо  ви  вказуєте                GEOMETRY,  для  порівняння  буде
                  використовуватися охоплення об'єкта.

                           SELECT road_id, road_name
                           FROM roads
                           WHERE  roads_geom  &  &  GeomFromText  ('POLYGON

                  ((...))',- 1);
                           Цей  запит  буде  використовувати  для  порівняння
                  охоплення полігону.
                           Більшість  простих  просторових  запитів,  ймовірно,  є

                  "фрейм-орієнтованими"                        ("frame-based")                 запитами,
                  використовуваними               в      клієнтському           ПО,       такому,         як
                  просмотровщик даних і додатки для веб картографії, захоплюючі

                  "фрейм"  даних  для  показу.  Використовуйте  для  фрейма  об'єкт
                  "BOX3D", як в запиті нижче:
                           SELECT AsText (roads_geom) AS geom
                           FROM roads

                                                              79
   74   75   76   77   78   79   80   81   82   83   84