Консоль SQL в QGIS


22

Я знаю, що QGIS постачається зі своїм польовим калькулятором, що непогано. Він також поставляється з ftools, який дозволяє кілька операцій з геометрії та атрибутів. Але нам часто потрібно більше контролю, і я не бачив жодного зручного інструменту в QGIS для виконання таких операцій (де ви можете вибрати поля, які вам потрібні, наприклад, або виконати арифметичні операції над ними, роблячи просторовий запит).

В основному, я хотів би знати, чи консоль SQL (своєрідне вікно Mapinfo Mapbasic) є в дорожній карті QGIS, і якщо ні, якщо важко буде кодувати її як плагін. Якщо вона ще існує, будь ласка, дайте мені знати, я її пропустив! ;-)


4
Це насправді не здається гарним питанням для цього сайту. Краще поставити розробників QGIS в одному зі своїх списків розсилки. Краще питання може задати, як зробити конкретну річ або отримати певний результат за допомогою QGIS. Питання щодо запланованих функцій з часом стануть суперечливими та безглуздими чи навіть неправильними.
Шон

1
FastSQL є приголомшливим! Тим більше, що ви можете замінити шар, який ви шукаєте, негайно. Це додає надзвичайної сили QGIS, підключеному до PostGRES. Однак я знайшов одну проблему - це використання просторових операторів. Я можу виконувати основні запити SQL у FastSQL, але жоден з просторових запитів для. Наприклад, цей запит працює просто в плагіні DB Manager: виберіть * з водно-болотних угідь, вододілів, де st_intersects (wetlands.geom, waterheds.geom), але коли я спробую його у FastSQL, він каже, що його недійсний шар і не може бути додано до карти. Я думаю, що є щось pr

Я витратив багато часу, щоб знайти спосіб зробити це в QGIS 2.0. Більшість відповідей тут і в Google є застарілими. @Simo: Чи можете ви перевірити відповідь HeyOverThere як найкращу відповідь? Наступним читачам буде легше знайти свіжу правильну відповідь.
Nicolas Boisteault

Це зроблено (з додатковим коментарем)
simo

Чи можете ви сказати, чому відповідь вас не задовольняє повністю?
Nicolas Boisteault

Відповіді:


10

Новий плагін DB Manager тепер є стандартною частиною QGIS з 1.8 вперед. У ньому є автозаповнення, виділення синтаксису, і ви можете додавати шари, створені з просторового запиту, на свою карту.

У 1.9 (версія розробки для 2.0) DB Manager додає функції імпорту / експорту, які дуже зручні.


Я не задоволений цією відповіддю, тому що я шукав вбудований інструмент, який працює незалежно від формату даних, але, як сказав @ Nicolas-Boisteault, прийняття цієї відповіді може навести інших людей у ​​правильному напрямку. Сподіваюся, так!
simo

10

Плагін RT Sql Layer може робити все, що завгодно (але це не консоль).

введіть тут опис зображення

Ви також можете використовувати консоль python: "Вибір" PostGIS "вибрати" як векторний шар у QGIS "


Дякую, підпілля Я також знаю, що плагін, але він покладається на використання шару Postgis. Насправді я хотів би мати інструмент, який не залежить від формату введення (як пропонують orbisgis, див. Пост в Амені)
simo

3
Розумію. Я не чув про подібні плани. Можливо, плагін, який використовує просторит у фоновому режимі, може бути підходом. Це може бути темою для Google Summer of Code.
underdark

Чи слід додати собі запит на qgis.org/wiki/Google_Summer_of_Code_2011 ? Я не впевнений, що не можу створити акаунт на сторінці wiki wiki.
simo

Ви можете запитати у списку розсилки користувачів, щоб отримати вікі-акаунт. (У нас були проблеми зі спамом.) У той же час ви можете запитати думки інших користувачів / розробників щодо цієї теми.
знизу

1
@Nathan> Приємно, ви дотримуєтеся цієї публікації. Я дійсно повинен подати ідею у список розробників qgis (за винятком випадків, коли ви це вже робили?). Використання стандартного SQL для запиту будь-якого типу даних просто фантастичне (див. Орбісгіс ).
simo

7

доступний новий плагін: Швидкий SQL Layer.
Він відкриває доковану консоль sql з виділенням коду.


1
дуже круто, хороший старт! Примітка: залежить від Pygments (так що для користувачів OSGeo4W є кілька вручну кроків, щоб створити / встановити це)
Mike T

1
Так, поки що рішення - скопіювати пігменти в папку site-пакети встановлення osgeo4w. Це працювало для мене. Незабаром я вийду та оновлену версію, щоб вирішити це.
Пабло

1
Я завантажив і витягнув Pygments-1.4.tar.gz, потім в оболонці OSGeo4W в Pygments-1.4каталозі, введіть python setup.py buildпотімpython setup.py install
Mike T


2

Я не знаю такого інструменту в QGIS. Ще одне програмне забезпечення з відкритим кодом GIS пропонує такі можливості, однак воно називається OrbisGIS: http://www.orbisgis.org

Незручно, оскільки один написаний на C ++, а інший - на Java, зв’язати їх було б важко ... :-(


Насправді я також користувач orbisgis (я колишній студент STEU) ;-) -переключення від одного до іншого ... і я вважаю, що ваша консоль SQL настільки ефективна, що я хотів би мати те саме на qgis ( У своєму запитанні я згадав mapbasic, тому що це більше відомо!). Orbisgis дозволяє повністю контролювати консоль SQL, але для виконання деяких основних операцій може знадобитися час. Навпаки, Qgis призначений для легкого виконання деяких основних операцій, але ускладнює виконання операцій повного контролю.
Сімо

Я розумію, що ви маєте на увазі ... На щастя, остання версія OrbisGIS додає автоматичне завершення в консолі SQL. Ми працюємо над тим, щоб додати можливість виконувати основні операції за межами консолі SQL.
Агмен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.