Jak utworzyć zapytanie

Kreator zapytań jest używany w narzędziach Znajdź według atrybutów i lokalizacji, Filtruj według atrybutów oraz Oblicz pole do tworzenia wyrażeń, które spełniają określone kryteria.

Tworzenie zapytania

Aby utworzyć zapytanie, kliknij przycisk Utwórz nowe zapytanie w panelu narzędzia lub w oknie dialogowym narzędzia.

Na początek wybierz warstwę, w której chcesz znaleźć obiekty. W przypadku narzędzia Znajdź według atrybutów i lokalizacji można to zrobić w kreatorze zapytań. W przypadku narzędzi Filtruj według atrybutów i Oblicz pole parametr danych wejściowych musi być wypełniony, zanim możliwe będzie utworzenie zapytania.

Następnie wybierz, czy należy rozpocząć od wyrażenia opartego na atrybutach, wyrażenia przestrzennego (Tylko narzędzie Znajdź według atrybutów i lokalizacji), czy grupy wyrażeń.

Jeśli zapytanie ma więcej niż jedno wyrażenie, należy wybrać odpowiednią z następujących opcji, aby połączyć te wyrażenia:

  • Wszystkie poniższe warunki są spełnione (opcja domyślna) — zwracane są tylko obiekty spełniające wszystkie wyrażenia. Ta opcja jest równoważna klauzuli AND (I).
  • Dowolny z poniższych warunków jest spełniony – zwracane są obiekty, które spełniają dowolne z wyrażeń. Ta opcja jest równoważna klauzuli OR (LUB).

Wyrażenia oparte na atrybutach

Każde zapytanie atrybutowe zawiera nazwę pola, operator i wartość.

Możesz na przykład w następujący sposób utworzyć zapytanie w warstwie zawierającej dane o zdarzeniach przestępczych w mieście (kradzieże, podpalenia, napaści z bronią w ręku itp.), aby wyświetlić tylko zdarzenia kradzieży. Utwórz wyrażenie oparte na atrybutach w następujący sposób:

  • Jako nazwę pola wybierz Rodzaj przestępstwa.
  • Jako operator wybierz równa się.
  • Jako wartość wpisz lub wybierz Kradzież.
Notatka:

Pola z wartościami null są wykluczane ze wszystkich wyników zapytania z wyjątkiem sytuacji, gdy wybrano operator jest puste.

W większości przypadków kreator zapytań zawiera listę dostępnych wartości pól, aby ułatwić utworzenie dokładnego wyrażenia. Lista nie jest dostępna w aplikacji ModelBuilder, jeśli wejściowy zestaw danych to dane wynikowe z innego narzędzia. Musisz wprowadzić w polu wprowadzania dokładną wartość, a nie wybrać wartość z listy.

Wyrażenia przestrzenne

Każde wyrażenie przestrzenne zawiera operator i drugą warstwę. Poniżej drugiej warstwy możesz użyć przycisku Wyrażenie, aby dodać wyrażenie w celu dalszego doprecyzowania obiektów z drugiej warstwy, które zostaną użyte w oryginalnym wyrażeniu przestrzennym.

Jeśli na przykład inna warstwa reprezentuje piekarnie, można jeszcze bardziej zawęzić zapytanie atrybutowe, aby wyszukać kradzieże, które miały miejsce w promieniu 100 metrów od cukierni. Dodaj następujące wyrażenie przestrzenne:

  • Jako operator wybierz W odległości do i wprowadź wartość 100 metrów.
  • Jako warstwę wybierz warstwę piekarni.
  • Kliknij przycisk Wyrażenie i wybierz Wyrażenie oparte na atrybutach.
  • W grupie instrukcji Where jako pole nazwy Typ sklepu, pozostaw operator równa się i wpisz lub wybierz jako wartość Cukiernie.

Grupa wyrażeń

Aby utworzyć bardziej złożone zapytanie, można użyć grup wyrażeń do zgrupowania wielu wyrażeń. Sposób grupowania wyrażeń decyduje o tym, co zostanie znalezione. Można utworzyć maksymalnie trzy poziomy grupowania.

Grup wyrażeń można na przykład użyć do dodatkowego dostosowania opisanego powyżej filtra zdarzeń przestępczych. Aby wyświetlić zarówno podpalenia, jak i kradzieże zgłoszone w odległości 100 metrów od sklepu z pączkami, można utworzyć grupę wyrażeń w celu znalezienia podpaleń i kradzieży. W tej grupie należy użyć opcji Dowolny z poniższych warunków jest spełniony. Następnie (poza grupą) należy dodać wyrażenie przestrzenne, aby znaleźć obiekty w promieniu 100 metrów od cukierni.

Wyrażenie grupy sprawdzające incydenty podpalenia i kradzieży w promieniu 100 metrów od cukierni

Operatory

Narzędzie Znajdź według atrybutów i lokalizacji używa operatorów na potrzeby zapytań atrybutowych i przestrzennych, natomiast narzędzia Filtruj według atrybutów i Oblicz pole używają operatorów wyłącznie na potrzeby zapytań atrybutowych.

Operatory atrybutów

W zapytaniach atrybutowych można używać kilku operatorów, w zależności od tego, czy odpytywane pole zawiera dane jakościowe czy numeryczne.

Jeśli pole zawiera ciąg znakowy, można użyć następujących operatorów:

  • równa się — ciągi znakowe pasujące do podanego tekstu.
  • nie równa się — ciągi znakowe, które nie pasują do podanego tekstu.
  • należy do — ciągi znakowe, które są zgodne z jedną z podanych wartości tekstowych.
  • nie należy do — ciągi znakowe, które nie są zgodne z żadną z podanych wartości tekstowych.
  • zawiera — ciągi znakowe zawierające podany tekst.
  • nie zawiera — ciągi znakowe, które nie zawierają podanego tekstu.
  • zaczyna się od — ciągi znakowe rozpoczynające się od podanego tekstu.
  • nie zaczyna się od — ciągi znakowe, które nie rozpoczynają się od podanego tekstu.
  • kończy się na — ciągi znakowe, które kończą się podanym tekstem.
  • nie kończy się na — ciągi znakowe, które nie kończą się podanym tekstem.
  • jest puste — ciągi znakowe, które nie zawierają tekstu i nie mają wartości null.
  • nie jest puste — ciągi znakowe, które zawierają tekst i nie mają wartości null.
  • jest pustym ciągiem znakowym — ciągi znakowe, które mają wartość null lub nie zawierają tekstu.
  • nie jest pustym ciągiem znakowym — ciągi znakowe, które zawierają jakiś tekst lub mają wartość null.

Jeśli pole jest liczbowe, można użyć następujących operatorów:

  • jest pomiędzy — liczby, które znajdują się pomiędzy dwiema podanymi wartościami. Wartości ograniczające są uwzględniane w wynikach.
  • nie jest pomiędzy — liczby, które nie znajdują się pomiędzy dwiema podanymi wartościami. Wartości ograniczające nie są uwzględniane w wynikach.
  • równa się — liczby pasujące do podanej wartości.
  • nie równa się — liczby, które nie pasują do podanej wartości.
  • należy do — liczby, które są zgodne z jedną z podanych wartości.
  • nie należy do — liczby, które nie są zgodne z żadną z podanych wartości.
  • jest większe niż — liczby, które są większe niż podana wartość.
  • równa się co najmniej — liczby, które są równe podanej wartości lub od niej większe.
  • jest mniejsze niż — liczby, które są mniejsze niż podana wartość.
  • równa się maksymalnie — liczby, które są mniejsze od podanej wartości lub jej równe.
  • jest puste — liczby pasujące do podanej wartości.
  • nie jest puste — liczby, które mają jakąś wartość.

Jeśli pole jest datą, można użyć następujących operatorów:

  • jest pomiędzy — daty, które znajdują się pomiędzy dwiema podanymi datami. Wartości ograniczające są uwzględniane w wynikach.
  • nie jest pomiędzy — daty, które nie znajdują się pomiędzy dwiema podanymi datami. Wartości ograniczające nie są uwzględniane w wynikach.
  • jest w dniu — daty, które są takie same jak podana data.
  • nie jest w dniu — daty, które nie są takie same jak podana data.
  • jest przed — daty, które są przed podaną datą.
  • jest po — daty, które są po podanej dacie.
  • jest puste — daty, które mają wartość null.
  • nie jest puste — daty, które nie mają wartości null.

Operatory przestrzenne

Wyrażenia przestrzenne są tworzone przez określenie operatorów, takich jak całkowicie wewnątrz lub przecina.

W zapytaniu przestrzennym można używać następujących operatorów przestrzennych:

  • Przecina się — jeżeli obiekt w pierwszej warstwie przecina obiekt z drugiej warstwy, obiekt z pierwszej warstwy zostaje uwzględniony w warstwie wynikowej.
  • Nie przecina się — jeżeli obiekt w pierwszej warstwie przecina obiekt z drugiej warstwy, obiekt z pierwszej warstwy nie zostaje uwzględniony w warstwie wynikowej.
  • W odległości do — obiekt w pierwszej warstwie zostaje wybrany (uwzględniony w warstwie wynikowej), jeśli dowolna jego część znajduje się w określonej odległości od obiektu w drugiej warstwie; na przykład, działki znajdujące się w odległości do 100 metrów od rzeki zostaną uwzględnione w warstwie wynikowej.
  • Nie w odległości do — obiekt w pierwszej warstwie zostaje wykluczony (nieuwzględniony w warstwie wynikowej), jeśli znajduje się w określonej odległości od obiektu w drugiej warstwie; na przykład, działki znajdujące się w odległości do 100 metrów od rzeki nie zostaną uwzględnione w warstwie wynikowej. Tę zależność można opisać inaczej jako „obiekt znajduje się dalej niż podana odległość”.
  • Całkowicie zawiera — jeśli obiekt w pierwszej warstwie całkowicie zawiera obiekt z drugiej warstwy, obiekt z pierwszej warstwy zostaje uwzględniony w warstwie wynikowej.
  • Nie całkowicie zawiera — jeśli obiekt w pierwszej warstwie całkowicie zawiera obiekt z drugiej warstwy, obiekt z pierwszej warstwy nie zostaje uwzględniony w warstwie wynikowej.
  • Całkowicie wewnątrz — jeżeli obiekt w pierwszej warstwie zawiera się całkowicie w obiekcie z drugiej warstwy, obiekt z pierwszej warstwy zostaje uwzględniony w warstwie wynikowej.
  • Nie całkowicie wewnątrz — jeżeli obiekt w pierwszej warstwie zawiera się całkowicie w obiekcie z drugiej warstwy, obiekt z pierwszej warstwy nie zostaje uwzględniony w warstwie wynikowej.
  • Najbliższy do — jeśli obiekt w pierwszej warstwie jest obiektem znajdującym się najbliżej względem obiektu z drugiej warstwy, obiekt z pierwszej warstwy zostaje uwzględniony w warstwie wynikowej.

Rozwiązywanie problemów

Zmiany w zestawie danych mogą spowodować, że wcześniej prawidłowe wyrażenie stanie się nieprawidłowe. Przykładowe zmiany, które mogą spowodować, że wyrażenie stanie się nieprawidłowe, to usunięcie lub zmiana typu pola używanego w wyrażeniu bądź zmiana geometrii obiektu zestawu danych używanego w wyrażeniu przestrzennym. Nieprawidłowe wyrażenia nie są wyświetlane w kreatorze zapytań po jego ponownym otwarciu.