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

példa1

Csak a csoport

példa2

Amikor egyszerűen hozzáadom az st_length

példa3

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

példa4

Megjegyzések

  • Az ST_Length vetítési információt igényel (SRID), lásd: gis.stackexchange.com/questions/35462/…
  • Az első lekérdezés két táblázatot hivatkozik az geometry oszlopra. Meg kell adnia, hogy melyik geometria oszlopot szeretné végrehajtani ST_length(). Ahogyan megadta a táblázatot a Network oszlophoz
  • Amit nem értek, akkor ez a 2 a kérdésekkel kapcsolatos lekérdezések akkor működnek, amikor önmaguk működtetik őket. ' Képernyő-megragadásokat adok a kérdéshez.
  • @she_weeds sajnálom, hogy rájöttem, hogy a .geometria nélkül nem volt ' t hibát adva, de nem is volt ' t megfelelő értéket adva a számlálásokhoz, így a kereszteződés nem működött ' A vonalak hosszának a hálózati területen való futtatásával kapcsolatos probléma azonban továbbra is ugyanazt a problémát okozza.

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.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük