Skip to main content
LibreTexts - Ukrayinska

6.2: Пошуки та запити

  • Page ID
    37309
    • Anonymous
    • LibreTexts
    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    Цілі навчання

    • Мета цього розділу полягає в тому, щоб окреслити основи мови SQL та зрозуміти різні методи запитів, доступні в ГІС.

    Доступ до надійних інструментів пошуку та запитів має важливе значення для вивчення загальних тенденцій набору даних. Запити - це, по суті, питання, поставлені до бази даних. Вибіркове відображення та отримання інформації на основі цих запитів є важливими компонентами будь-якої геоінформаційної системи (ГІС). Існує три основні методи пошуку та запиту даних атрибутів: (1) вибір, (2) запит за атрибутом та (3) запит за географією.

    Вибір

    Вибір являє собою найпростіший спосіб пошуку та запиту просторових даних у ГІС. Вибір об'єктів виділяє ті атрибути, що цікавлять, як на екрані, так і в таблиці атрибутів, для подальшого відображення або аналізу. Для цього вибираються точки, лінії та багатокутники, просто використовуючи курсор, щоб «вказувати та клацнути» цікаву функцію або за допомогою курсора перетягнути рамку навколо цих об'єктів. Крім того, можна виділити об'єкти за допомогою графічного об'єкта, наприклад кола, лінії або багатокутника, щоб виділити всі ті об'єкти, які потрапляють у об'єкт. Додаткові параметри вибору підмножин даних з більшого набору даних включають створення нового виділення, вибір з поточного вибраного об'єкта, додавання до поточного виділення та видалення з поточного виділення.

    Запит за атрибутом

    Об'єкти карти та пов'язані з ними дані можуть бути отримані за допомогою запиту атрибутивної інформації в таблицях даних. Наприклад, інструменти пошуку та запитів дозволяють користувачеві показувати всі ділянки перепису населення, які мають щільність населення 500 або більше, показати всі округи, які менше або рівні 100 квадратних кілометрів, або показати всі магазини в межах 1 милі від міждержавного шосе.

    Зокрема, SQL (Structured Query Language) - це часто використовувана комп'ютерна мова, розроблена для запиту даних атрибутів в реляційній системі управління базами даних. Створений IBM у 1970-х роках, SQL дозволяє отримувати підмножину атрибутивної інформації на основі конкретних, визначених користувачем критеріїв за допомогою реалізації певних мовних елементів. Зовсім недавно використання SQL було розширено для використання в ГІС (Shekhar and Chawla 2003) .Shekhar, S., and S. Chawla. 2003. Просторові бази даних: тур. Верхня річка Сідло, Нью-Джерсі: Прентіс Холл. Одне важливе зауваження, пов'язане з використанням SQL, полягає в тому, що точний вираз, який використовується для запиту набору даних, залежить від розглянутого формату файлу ГІС. Наприклад, ANSI SQL - це певна версія, яка використовується для запиту до баз геоданих ArcSDE, тоді як Jet SQL використовується для доступу до персональних баз геоданих. Аналогічно, шейп-файли, покриття та таблиці dBase використовують обмежену версію SQL, яка не підтримує всі функції ANSI SQL або Jet SQL.

    Як обговорюється в розділі 5.2 «Управління геопросторовими базами даних», всі таблиці атрибутів у реляційній системі управління базами даних (RDBMS), що використовуються для запиту SQL, повинні містити первинні та/або зовнішні ключі для належного використання. На додаток до цих ключів, SQL реалізує пункти для структурування запитів до бази даних. Речення - це мовний елемент, який включає в себе оператори запиту SELECT, FROM, WHERE, ORDER BY та HAVING.

    • SELECT позначає поля таблиці атрибутів, які ви хочете переглянути.
    • З позначає таблицю атрибутів, в якій знаходиться інформація.
    • WHERE позначає визначені користувачем критерії для інформації атрибутів, які повинні бути виконані для того, щоб вона була включена до вихідного набору.
    • ORDER BY позначає послідовність, в якій буде відображатися вихідний набір.
    • HAVING позначає предикат, який використовується для фільтрації виводу з речення ORDER BY.

    Хоча SELECT і FROM є обов'язковими операторами в SQL-запиті, WHERE є необов'язковим реченням, що використовується для обмеження набору виводу. ORDER BY та HAVING є необов'язковими пунктами, які використовуються для подання інформації в інтерпретаційній формі.

    Малюнок 6.6 Особисті адреси в таблиці атрибутів «ExampleTable»

    Нижче наведено ряд SQL виразів та результатів, застосованих до малюнка 6.6 «Особисті адреси в таблиці атрибутів «ExampleTable». Назва таблиці атрибутів - «ExampleTable». Зауважте, що зірочка (*) позначає окремий випадок SELECT, за допомогою якого вибираються всі стовпці для даного запису:

    ОБЕРІТЬ * З EXampleTable, ДЕ Місто = «Нагір'я»

    Ця заява повертає наступне:

    Розглянемо наступне твердження:

    ВИБЕРІТЬ ПРІЗВИЩЕ З таблиці exampleTable, ДЕ СТАН = «CA» ЗАМОВИТИ ЗА FIRSTNAME

    Цей оператор призводить до наступної таблиці, відсортованої за зростанням за стовпцем FirstName (не включена до вихідної таблиці відповідно до пункту SELECT):

    Крім пунктів, SQL дозволяє включати конкретні оператори для подальшого розмежування результату запиту. Ці оператори можуть бути реляційними, арифметичними або логічними і зазвичай з'являться всередині умовних операторів у реченні WHERE. Оператор реляцій використовує твердження, рівні (=), менше (<), менше або рівні (< =), greater than (>), або більше або рівні (> =). Арифметичні оператори - це ті математичні функції, які включають додавання (+), віднімання (−), множення (*) та ділення (/). Булеві оператори (також звані булевими з'єднувачами) включають в себе оператори І, АБО, XOR і NOT. З'єднувач І використовується для вибору записів з таблиці атрибутів, які задовольняють обидва вирази. З'єднувач OR вибирає записи, які задовольняють одному або обом виразам. З'єднувач XOR вибирає записи, які задовольняють одному і тільки одному з виразів (функціональна протилежність роз'єму І). Нарешті, з'єднувач NOT використовується для скасування (або скасування вибору) виразу, який в іншому випадку був би істинним. Покласти в мову ймовірності, з'єднувач І використовується для представлення перетину, АБО являє собою об'єднання, а НЕ являє собою доповнення. Рисунок 6.7 «Діаграма Венна операторів SQL» ілюструє логіку цих з'єднувачів, де кола A і B представляють два набори даних, що перетинаються. Майте на увазі, що SQL є дуже вимогливою мовою і незначні невідповідності в заяві, такі як додаткові пробіли, можуть призвести до невдалого запиту.

    Малюнок 6.7 Діаграма Венна операторів SQL

    Використовувані разом, ці оператори об'єднуються, щоб надати користувачеві ГІС потужні та гнучкі параметри пошуку та запитів. Маючи це на увазі, ви можете визначити вихідний набір наступного запиту SQL, як він застосовується до малюнка 6.1 «Гістограма, що показує частотний розподіл балів іспиту»?

    ВИБЕРІТЬ Прізвище, Ім'я, Номер вулиці З Прикладу Таблиця, ДЕ Номер вулиці> = 10000 І номер вулиці < 100 ЗАМОВИТИ ЗА ПРІЗВИЩЕМ

    Нижче наведено результати:

    Запит за географією

    Запит за географією, також відомий як «просторовий запит», дозволяє виділити окремі функції, вивчаючи їх положення щодо інших ознак. Наприклад, ГІС забезпечує надійні інструменти, які дозволяють визначити кількість шкіл в межах 10 миль від будинку. Доступно кілька варіантів просторових запитів, як описано тут. Протягом цього обговорення «цільовий шар» посилається на набір об'єктів, атрибути якого вибрані, тоді як «вихідний шар» відноситься до набору класних об'єктів, до якого застосовано просторовий запит. Наприклад, якщо ми використовували набір даних об'єктів полігону кордону штату для вибору магістралей з набору даних лінійних об'єктів (наприклад, вибрати всі магістралі, що проходять через штат Арканзас), державний шар є джерелом, тоді як шар шосе є ціллю.

    • ПЕРЕТИНАЮТЬСЯ. Цей часто використовуваний метод просторового запиту вибирає всі об'єкти цільового шару, які мають спільну локаль із вихідним шаром. Запит «intersect» дозволяє використовувати точки, лінії або багатокутні шари як початковий і цільовий шари (рис. 6.8).

    Малюнок 6.8

    Виділені сині та жовті об'єкти вибираються, оскільки вони перетинають червоні риси.

    • ЗНАХОДЯТЬСЯ В МЕЖАХ ВІДСТАНІ. Цей метод вимагає від користувача задати деяке значення відстані, яке потім використовується для буферизації (рис. 6.9).

    Малюнок 6.9

    Виділені сині та жовті об'єкти вибираються, оскільки вони знаходяться на вибраній відстані від червоних об'єктів; області засмаги представляють буфери навколо різних об'єктів.

    • ПОВНІСТЮ МІСТЯТЬ. Цей метод просторового запиту повертає ті об'єкти, які повністю знаходяться в межах вихідного шару. Об'єкти з відповідними межами не вибираються цим типом запиту. Запит «повністю містить» дозволяє використовувати точки, лінії або полігони в якості вихідного шару, але тільки полігони можуть використовуватися як цільовий шар (рис. 6.10).

    Малюнок 6.10

    Виділені сині та жовті функції вибираються, оскільки вони повністю містять червоні риси.

    • ЗНАХОДЯТЬСЯ ПОВНІСТЮ ВСЕРЕДИНІ. Цей запит вибирає ті об'єкти в цільовому шарі, весь просторовий екстент якого зустрічається в геометрії вихідного шару. Запит «повністю всередині» дозволяє використовувати точки, лінії або полігони як цільовий шар, але тільки полігони можуть бути використані як вихідний шар (рис. 6.11).

    Малюнок 6.11

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

    • МАЮТЬ СВІЙ ЦЕНТР В. Цей метод вибирає цільові об'єкти, центр яких, або центроїд, розташований у межах вихідного набору даних об'єктів. Запит «have their center in» дозволяє використовувати точки, лінії або багатокутні шари як початковий і цільовий шари (рис. 6.12).

    Малюнок 6.12

    Виділені сині та жовті функції вибираються, оскільки вони мають свої центри в червоних рисах.

    • СПІЛЬНИЙ ВІДРІЗОК ЛІНІЇ. Цей просторовий запит вибирає цільові об'єкти, гранична геометрія яких поділяє мінімум дві суміжні вершини з вихідним шаром. Запит «поділити сегмент лінії» дозволяє використовувати лінійні або багатокутні шари для будь-якого з вихідних і цільових шарів (рис. 6.13).

    Малюнок 6.13

    Виділені сині та жовті об'єкти вибираються, оскільки вони поділяють відрізок лінії з червоними об'єктами.

    • ТОРКНІТЬСЯ КОРДОНУ. Ця методологія подібна до просторового запиту INTERSECT; однак вона вибирає лінійні та полігональні об'єкти, які мають спільну межу з цільовим шаром. Запит «touch to bordon of» дозволяє використовувати лінійні або багатокутні шари як вихідний і цільовий шари (рис. 6.14).

    Малюнок 6.14

    Виділені сині та жовті об'єкти вибираються, оскільки вони торкаються кордону червоних об'єктів.

    • ІДЕНТИЧНІ. Цей просторовий запит повертає об'єкти, які мають точно таке ж географічне розташування. Запит «ідентичні» можна використовувати для точок, ліній або полігонів, але тип цільового шару повинен збігатися з типом вихідного шару (рис. 6.15).

    Малюнок 6.15

    Виділені сині та жовті функції вибираються, оскільки вони ідентичні червоним.

    • ПЕРЕТИНАЮТЬСЯ ПО КОНТУРУ. Цей критерій вибору повертає об'єкти, які мають спільну вершину, але не весь відрізок лінії. Запит «перетинаються контуром» дозволяє використовувати лінійні або багатокутні шари як вихідні та цільові шари (рис. 6.16).

    Малюнок 6.16

    Виділені сині та жовті риси вибираються тому, що вони перетинаються контуром червоних рис.

    • МІСТЯТЬ. Цей метод схожий на просторовий запит COMPLETY CONTAINE; однак об'єкти в цільовому шарі будуть вибрані, навіть якщо межі перекриваються. Запит «містити» дозволяє використовувати точкові, лінійні або полігональні об'єкти в цільовому шарі, коли точки використовуються як джерело; коли лінійні та полігони цільові шари з джерелом лінії; і коли тільки багатокутники цільові шари з джерелом багатокутника (рис. 6.17).

    Малюнок 6.17

    Виділені сині та жовті функції вибираються, оскільки вони містять червоні елементи.

    • МІСТЯТЬСЯ. Цей метод схожий на просторовий запит ARE COMPLETY WITHIN; однак, об'єкти в цільовому шарі будуть вибрані, навіть якщо межі перекриваються. Запит «містяться» дозволяє використовувати точкові, лінійні або полігональні об'єкти в цільовому шарі, коли полігони використовуються як джерело; коли точкові та лінійні цільові шари з джерелом лінії; і коли тільки точкові цільові шари з точковим джерелом (рис. 6.18).

    Малюнок 6.18

    Виділені сині та жовті функції вибираються, оскільки вони містяться червоними ознаками.

    Ключові виноси

    • Три основні методи пошуку та запиту даних атрибутів: вибір, запит за атрибутом та запит за географією.
    • SQL - це часто використовувана комп'ютерна мова, розроблена для запиту за даними атрибутів в реляційній системі управління базами даних.
    • Запити за географією дозволяють користувачеві виділити бажані функції, вивчаючи їх положення щодо інших ознак. Одинадцять різних варіантів запитів за географією, перераховані тут, доступні в більшості програмних пакетів ГІС.

    вправи

    1. Використовуючи малюнок 6.1 «Гістограма, що показує частотний розподіл балів іспитів», розробити SQL-заяву, яка призводить до виведення всіх назв вулиць людей, які проживають в Лос-Анджелесі, відсортованих за номером вулиці.
    2. У чому різниця між вихідним шаром і цільовим шаром при запиті за географією?
    3. У чому різниця між ЗАПИТАМИ CONTREASE, ПОВНІСТЮ МІСТЯТЬ, І МІСТЯТЬСЯ ЗА запитами?