Konsola SQL w QGIS


22

Wiem, że QGIS jest wyposażony w kalkulator polowy, który nie jest zły. Jest również wyposażony w narzędzia, które pozwalają na kilka operacji na geometrii i atrybutach. Ale często potrzebujemy większej kontroli i nie widziałem w QGIS żadnego wygodnego narzędzia do wykonywania takich operacji (w których można na przykład wybierać pola lub wykonywać na nich operacje arytmetyczne podczas wykonywania zapytania przestrzennego).

Zasadniczo chciałbym wiedzieć, czy konsola SQL (rodzaj podstawowego mapy Mapinfo) znajduje się na mapie drogowej QGIS, a jeśli nie, czy trudno byłoby ją zakodować jako wtyczkę. Jeśli już istnieje, proszę dać mi znać, że go przegapiłem! ;-)


4
To naprawdę nie wydaje się dobre pytanie dla tej strony. Lepiej byłoby umieścić twórcom QGIS na jednej z ich list mailingowych. Lepsze pytanie może dotyczyć sposobu wykonania określonej czynności lub uzyskania określonego wyniku w QGIS. Pytania dotyczące planowanych funkcji staną się z czasem dyskusyjne i bezcelowe, a nawet błędne.
Sean

1
FastSQL jest niesamowity! Zwłaszcza, że ​​możesz natychmiast wymienić warstwę, na którą patrzysz. Daje to niezwykłą moc QGIS podłączonemu do PostGRES. Znalazłem jednak jeden problem, a mianowicie wykorzystanie operatorów przestrzennych. Potrafię wykonywać podstawowe zapytania SQL w FastSQL, ale żadne z zapytań przestrzennych. Na przykład to zapytanie działa po prostu we wtyczce DB Manager: wybierz * z mokradeł, zlewni, gdzie st_intersects (wetlands.geom, watersheds.geom), ale kiedy spróbuję w FastSQL, mówi, że nie jest to poprawna warstwa i nie może być dodano do mapy. Myślę, że jest coś pr

Spędziłem dużo czasu, aby znaleźć sposób na zrobienie tego w QGIS 2.0. Większość odpowiedzi tutaj i w Google jest nieaktualna. @Simo: Czy możesz sprawdzić odpowiedź HeyOverThere jako najlepszą odpowiedź? Kolejnym czytelnikom łatwiej będzie znaleźć świeżą poprawną odpowiedź.
Nicolas Boisteault,

Odbywa się to (z dodatkowym komentarzem)
simo

Czy możesz nam powiedzieć, dlaczego odpowiedź nie zadowala Cię całkowicie?
Nicolas Boisteault,

Odpowiedzi:


10

Nowa wtyczka DB Manager jest teraz standardową częścią QGIS od wersji 1.8. Ma funkcję autouzupełniania, podświetlanie składni, a do mapy można dodawać warstwy utworzone na podstawie zapytania przestrzennego.

W wersji 1.9 (wersja rozwojowa dla 2.0) DB Manager dodaje funkcje importu / eksportu, które są bardzo przydatne.


Nie jestem zadowolony z tej odpowiedzi, ponieważ szukałem wbudowanego narzędzia, które działa niezależnie od formatu danych, ale jak powiedział @ Nicolas-Boisteault, zaakceptowanie tej odpowiedzi może skierować inne osoby we właściwym kierunku. Mam nadzieję!
simo

10

Wtyczka RT Sql Layer może robić, co chcesz (ale nie jest to konsola).

wprowadź opis zdjęcia tutaj

Możesz także użyć konsoli Pythona: instrukcja „PostGIS” select „jako warstwa wektorowa w QGIS”


Dzięki podmrok. Znam też tę wtyczkę, ale zależy ona od użycia warstwy Postgis. Właściwie chciałbym mieć narzędzie, które nie jest zależne od formatu wejściowego (jak proponują orbisgis, patrz agemen post)
simo

3
Widzę. Nie słyszałem o takich planach. Być może wtyczka korzystająca ze spatialite w tle może być rozwiązaniem. To może być temat na Google Summer of Code.
podmroku

Czy powinienem dodać prośbę na qgis.org/wiki/Google_Summer_of_Code_2011 ? Nie jestem pewien, czy nie mogę utworzyć konta na stronie wiki gqis.
simo

Możesz poprosić na liście mailingowej użytkownika, aby założyć konto wiki. (Mieliśmy problemy ze spamem). Jednocześnie możesz zapytać inne opinie użytkowników / twórców na ten temat.
podmrok

1
@Nathan> Fajnie, obserwujesz ten post. Powinienem naprawdę przesłać pomysł na listę deweloperów qgis (chyba że już to zrobiłeś?). Używanie standardowego SQL-a do przeszukiwania dowolnego rodzaju danych jest po prostu fantastyczne (patrz orbisgis ).
podobnie

7

dostępna jest nowa wtyczka: Fast SQL Layer.
Otwiera zadokowaną konsolę SQL z podświetlaniem kodu.


1
bardzo fajnie, dobry początek! Uwaga: zależy od Pygments (więc dla użytkowników OSGeo4W istnieje kilka ręcznych kroków, aby to zbudować / zainstalować)
Mike T

1
Tak, na razie rozwiązaniem jest skopiowanie piggetów do folderu site-packages instalacji osgeo4w. To zadziałało dla mnie. Wkrótce wydam i zaktualizowałem wersję, aby rozwiązać ten problem.
Pablo

1
Pobrałem i wyodrębniłem Pygments-1.4.tar.gz, a następnie w powłoce OSGeo4W w Pygments-1.4katalogu, wpisz python setup.py buildwtedypython setup.py install
Mike T


2

Nie znam takiego narzędzia w QGIS. Jednak inne oprogramowanie GIS typu open source oferuje takie możliwości, o nazwie OrbisGIS: http://www.orbisgis.org

Niestety, ponieważ jeden jest napisany w C ++, a drugi jest w Javie, z pewnością trudno byłoby je połączyć ... :-(


Właściwie jestem także użytkownikiem Orbisgis (jestem byłym studentem STEU) ;-) - przełączam się z jednego na drugiego ... i myślę, że twoja konsola SQL jest tak wydajna, że ​​chciałbym mieć to samo na qgis ( W swoim pytaniu wspomniałem o mapbasic, ponieważ jest bardziej znany!). Orbisgis pozwala na pełną kontrolę za pomocą konsoli SQL, ale wykonanie podstawowych operacji może zająć trochę czasu. Wręcz przeciwnie, Qgis jest zaprojektowany do łatwego wykonywania podstawowych operacji, ale utrudnia wykonywanie operacji pełnej kontroli.
simo

Rozumiem, co masz na myśli ... Na szczęście ostatnia wersja OrbisGIS dodaje automatyczne uzupełnianie w konsoli SQL. Pracujemy również nad dodaniem możliwości wykonywania podstawowych operacji poza konsolą SQL.
Agemen,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.