Amikor egyszerű lekérdezést próbálok ki
SELECT "Water_Service_Area_Boundaries_Non_Cadastral"."Network", count(*), sum(st_length(geometry)) FROM "W_Mains_DSC_ExclAbandoned", "Water_Service_Area_Boundaries_Non_Cadastral" WHERE ST_Intersects("Water_Service_Area_Boundaries_Non_Cadastral", "W_Mains_DSC_ExclAbandoned") GROUP BY "Water_Service_Area_Boundaries_Non_Cadastral"."Network"
Ezt a hibát kapom
Query preparation error on PRAGMA table_info(_tview): ambiguous column name: geometry
Amikor a st_length
egyszerű számok létrehozásával működik.
Csak a következők is jól működnek
Select sum(st_length(geometry)), count(*) From W_Mains_DSC_ExclAbandoned
Példák a lekérdezés azon részhalmazára, amelyek egymástól függetlenül működnek, de összefűzve nem:
Csak a teljes hossz
Csak a csoport
Amikor egyszerűen hozzáadom az st_length
Megpróbáltam .geometry-vel a ST_Intersects
és ez helyes számokat ad, de megadja a pragma geomot próbálkozzon hibával az összeg hozzáadásakor
Megjegyzések
Válasz
Véleményem szerint nincs szüksége semmilyen SRID-re , mert nem a ST_Length_Spheroid()
-vel dolgozik.
Amire a @she_weeds mutat, az valóban helyes.
SELECT ws."Network", count(ws."Network"), sum(st_length(ws.geometry)) FROM "Water_Service_Area_Boundaries_Non_Cadastral" AS ws, "W_Mains_DSC_ExclAbandoned" AS wmain WHERE ST_Intersects(ws.geometry, wmain.geometry) GROUP BY ws."Network"
Megjegyzések
- Köszönet – ezért tudnia kellett, hogy ' s az egyik bemeneti adatkészlet geometriája, amelynek hosszára szükségünk van.
geometry
oszlopra. Meg kell adnia, hogy melyik geometria oszlopot szeretné végrehajtaniST_length()
. Ahogyan megadta a táblázatot aNetwork
oszlophoz