Kun yritän yksinkertaista kyselyä
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"
Saan tämän virheen
Query preparation error on PRAGMA table_info(_tview): ambiguous column name: geometry
Kun yritän sitä ilman st_length
se luo yksinkertaisen ryhmän, jolla on laskelmat.
Myös seuraavat toimivat hyvin
Select sum(st_length(geometry)), count(*) From W_Mains_DSC_ExclAbandoned
Esimerkkejä kyselyn osajoukosta, jotka toimivat itsenäisesti, mutta eivät yhteen kietotuna
Vain kokonaispituus
Vain ryhmä
Kun yksinkertaisesti lisätään st_pituus
Olen kokeillut .geometry-sovellusta ST_Intersects
ja tämä antaa oikeat laskelmat, mutta antaa pragma-geomin kokeile virhettä, kun summa lisätään
Kommentit
Vastaa
Mielestäni et tarvitse mitään SRID -tunnusta, koska et toimi ST_Length_Spheroid()
-palvelun kanssa.
Mitä @she_weeds osoittaa, on todellakin oikea.
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"
Kommentit
- Kiitos – niin sen piti tietää, että se ' s sellaisen geometrian yhdelle syötetiedostolle, jonka pituuden tarvitsemme.
geometry
. Sinun on määritettävä geometrinen sarake, johon haluat suorittaaST_length()
. Aivan kuten määritit taulukonNetwork
-sarakkeelle