Zabawy z SQL - Wersja do druku +- Forum QGIS (http://forum.quantum-gis.pl) +-- Dział: Bazy danych (http://forum.quantum-gis.pl/forum-23.html) +--- Dział: SQLite, Spatialite, Geopackage (http://forum.quantum-gis.pl/forum-25.html) +--- Wątek: Zabawy z SQL (/thread-1722.html) |
Zabawy z SQL - jerresso - 15-10-2018 Hej, powoli uczę się SQLi nieco bardziej zaawansowanych niż Kod: SELECT * FROM table1; Na warsztat wziąłem sobie GeoPaczkę, DB Managera i QGIS 2.18.24. Chciałem wygenerować "w locie" centroidy powiatów, ze znanej zapewne warstwy poligonowej z PRG udostępnianej przez GUGiK KLIK!. Niestety dla zapytania Kod: SELECT fid AS GUID, jpt_nazwa_ AS Powiat, st_centroid(geom) AS Centroida FROM powiaty; w QGIS ładuje się warstwa poligonowa, a w oknie mapy nie wyświetla się nic. Tabela atrybutów wygląda poprawnie. Problem chyba jest w tym, że w locie z poligonów robię punkty, bo dla zapytania w locie poligon->poligon działa poprawnie, np. tworzenie buforów 500m. od granic powiatów Kod: SELECT fid AS GUID, jpt_nazwa_ AS Powiat, st_buffer(geom, 500) AS BUFOR FROM powiaty; Ktoś podpowie, proszę? RE: Zabawy z SQL - jerresso - 15-10-2018 SELECT fid, jpt_nazwa_, MAKEPOINT(ST_X(ST_CENTROID(geom)),(ST_Y(ST_CENTROID(geom)))) AS punkty FROM powiaty; nie zmieniło sytuacji... RE: Zabawy z SQL - jerresso - 16-10-2018 Wychodzi na to, ze zapytania SQL do GeoPaczek rządzą się swoimi prawami, albo jeszcze to nie do końca wszystko jest poprawnie zaimplementowane. Identyczny cel, tylko na danych wsadzonych w SpatiaLite przyniósł oczekiwany efekt poprzez proste CREATE VIEW "Centroidy" AS SELECT ogc_fid, jpt_nazwa_, jpt_kod_je, Centroid(GEOMETRY) FROM spatialite; |