Page 84 - 6430
P. 84

зменшить  число  рядків,  на  яких  неоходимо  обчислювати
            функцію  distance  ().  Зауважимо,  що  геометрія  BOX3D,  яка

            використовується  з  оператором  &  &,  є  прямокутником  зі
            стороною в 200 одиниць, центрованим в потрібній точці - це наш
            "прямокутник запиту" ("query box"). Оператор & & використовує

            індекс,  щоб  швидко  зменшити  число  аналізованих  записів,
            вибираючи           тільки       ті    геометрії,        які     перетинаються            з
            "прямокутником              запиту".       Якщо         припустити,          що      наш

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


                     Починаючи            з     PostGIS        1.3.0      більшість         функцій
            геометричних  відносин  (Geometry  Relationship  Functions),  за
            винятком  ST_Disjoint  і  ST_Relate,  приховано  включають

            оператори визначення охоплення.

                     7. Приклади просторового SQL


                     Приклади  цього  розділу  будуть  використовувати  дві
            таблиці:  таблицю  вулиць  (лінії)  та  таблицю  кордонів
            муніципалітетів (полігони). Таблиця bc_roads буде визначена так:

                     Column | Type | Description
                     ------------+-------------------+----------------- -
                     gid | integer | Унікальний ID

                     name | character varying | Ім'я вулиці
                     the_geom | geometry | Геометрія розташування (Linestring)


                     Таблиця bc_municipality буде визначена так:
                     Column | Type | Description
                     -----------+-------------------+------------------ -
                     gid | integer | Унікальний ID

                     code | integer | Унікальний ID
                     name | character varying | Назва муніципалітету / міста
                     the_geom | geometry | Геометрія розташування (Polygon)


                     1. Яка загальна довжина всіх вулиць у кілометрах?
                     Відповідь  на  це  питання  може  дати  дуже  простий  SQL-
            запит:

                                                        84
   79   80   81   82   83   84   85   86   87   88   89