Podstawową koncepcją GIS jest odpowiadanie na pytania dotyczące zbiorów danych. Z punktu widzenia bazy danych; SQL z rozszerzeniami przestrzennymi jest sposobem zadawania takich pytań. Jakie inne sposoby można wyrazić w formie tekstowej do odczytu maszynowego? Jakie są zalety różnych podejść?
geoprocessing
analysis
Matthew Snape
źródło
źródło
Odpowiedzi:
Mogę myśleć tylko o 3 typach zapytań przestrzennych, ignorując zapytania oparte na atrybutach lub hashach.
Zapytania przestrzenne oparte na geometrii i służą do znajdowania związków między elementami wektorowymi. Zapytania przestrzenne SQL są w rzeczywistości tylko alogorytmami niskiego poziomu API, takimi jak Bentley-Ottmann - używanymi w OpenLayers do sprawdzania, czy przecinają się dwie linie.
Jak wspomniał Kirk, typy relacji między cechami ustandaryzowały się w rozszerzonym wymiarowo modelu dziewięciu skrzyżowań :
Można argumentować, że zapytania przestrzenne oparte na indeksach są uproszczoną formą zapytań geometrycznych. Większość zapytań dotyczących geometrii wykorzystuje indeks przestrzenny jako zapytanie pierwszego przejścia w celu odfiltrowania nieistotnych elementów przed porównaniem poszczególnych geometrii, co jest bardziej czasochłonne. Są one również implementowane w bazach danych NoSQL, takich jak MongoDB .
Istnieje kilka implementacji, które łączą powyższe, na przykład StarSpan, który łączy zapytania rastrowe i wektorowe - chociaż tak naprawdę ukrywa etap wstępnego przetwarzania.
Istnieje wiele interfejsów API, które implementują tego rodzaju zapytania, które można odczytać zarówno z komputera, jak i tekstu. Jest to dobra dyskusja na temat różnych wdrożeń i ich problemów tutaj .
Artykuł W kierunku języka zapytań przestrzennych 3d dzieli operatory przestrzenne na 4 typy, oparte raczej na zapytaniu niż na typie danych (co może być bardziej sensowne):
Wprowadza także terminologię do obsługi funkcji 3D (korpus i powierzchnia), które nie są uwzględnione w DE-I9M.
źródło
1 - Istnieje kilka badań z tym oprogramowaniem: http://nlp.uned.es/MLQA06/papers/ferres.pdf
Mimo że jest ono bardziej związane z wyszukiwaniem w Internecie, może dostarczyć wskazówek, jak tłumaczyć język ludzki na język komputerowy.
Googling „GeoTALP-Q” zawiera także więcej artykułów na ten temat.
2- GeoDjango zapewnia API dla zapytań przestrzennych, jest to tłumaczenie z SQL na język obiektowy, który może przyspieszyć wiele żmudnej pracy, takiej jak pisanie funkcji PL / python dla złożonych zapytań przestrzennych. Jest to ograniczone przez używaną bazę danych .
źródło