Mam utworzoną przeze mnie przestrzenną bazę danych obejmującą kilka lat danych o przestępczości. Aby ułatwić scenariusz w świecie rzeczywistym, w którym mogę uprościć interakcję użytkownika, wprowadzając widok, który po prostu ogranicza czas lub rodzaje zwracanych przestępstw, chcę wiedzieć, czy QGIS może przeczytać ten widok w podobny sposób byłaby inna tabela przestrzenna w mojej bazie danych. Chodzi o to, że oczywiście nie chcę tworzyć osobnej tabeli dla każdego możliwego widoku, którego mogę użyć, i staram się to uprościć, nie wymagając od użytkownika znajomości bazy danych i odpowiedniego kodu SQL do samodzielnego podzbioru danych. Podobny przepływ pracy w świecie ArcGIS może polegać na tworzeniu osobnych plików warstw, które użytkownik może otworzyć w ArcMap, które uzyskują dostęp do bazy danych (powiedzmy SQL Server) i prezentują tylko ograniczony zestaw danych.
Utworzyłem widok w mojej bazie danych, ale nie pojawia się on na liście klas obiektów, które mogę zaimportować, gdy połączę się z przestrzenną bazą danych w QGIS. Może widoki nie są uważane za przestrzenne? (Zajmę się tym później, ale myślałem, że już to zrobiłem; po prostu nie przypominam sobie wniosków.) W każdym razie, w jaki sposób można powielić rodzaj przepływu pracy, który chcę, lub podobną alternatywę ArcGIS ?
źródło
SELECT * FROM views_geometry_columns;
aby zobaczyć, co należy wstawić. Więcej informacji na stronie gaia-gis.it/spatialite-3.0.0-BETA/spatialite-cookbook/html/...Być może będziesz musiał wstawić unikalny identyfikator w widoku, podobny do tego, co omówiono tutaj: Czy w PostGIS można utworzyć widok z unikalnym identyfikatorem?
źródło
rejestrowanie widoku w geometrii_kolumnach obecnie (rok 2015) wydaje się wymagać dodatkowego pola „tylko do odczytu”:
źródło
W przypadku SpatialLite 4.x wymagane są dwie zmiany oryginalnej odpowiedzi - dodanie
read_only
kolumny i zmiana wszystkich wstawionych wartości na małe litery. Zaktualizowany SQL wygląda następująco:read_only
Pole przyjmuje wartość 0 lub 1. (patrz komentarz Sandro Furieri w Google Groups dla dalszych wyjaśnień).Więcej szczegółów na temat tych i innych zmian 4.x można znaleźć na wiki wiki przełączania na 4.0 .
źródło
NB: zamień tylko: nameOfView i geometryTable
źródło