Več

Napaka pri ali blizu izbranega PostGIS -a

Napaka pri ali blizu izbranega PostGIS -a


Uporabljam node.js za povezavo z zbirko podatkov PostGIS, da preverim, ali se vnosna funkcija bistveno seka z obstoječo funkcijo.

Zdi se, da je napaka pri ugnezdenem stavku SELECT - ali mi lahko kdo to popravi?

Preveril sem, da sta spremenljivki randomnum in drawingGeo veljavni vhodi (spodnji primeri). the_geom je vsekakor tudi stolpec geometrije.

drawingGeo = {"type": "Poligon", "koordinate": [[[-337154.39223673707,6715717.913400569], [-337111.09782618494,6715721.794968411], [-337102.4389440745,6715706.8658613177367707707707707707707707707707707 [78] [33] ]]]} naključno število = 11702

var drawquery = client.query ('SELECT gid iz stavb, kjer je (st_area (st_intersection (ST_GeomFromGeoJSON ("'+drawingGeo+'")), ST_GeomFromGeoJSON (SELECT ST_AsGeoJSON (the_geom) iz stavb, kjer je gid ='+)) naključno))) (ST_GeomFromGeoJSON ("'+drawingGeo+'"))> .8 ');

EDIT: Napaka v vozlišču:

events.js: 72 met er; // Neobdelan dogodek 'error' error ^ error: sintaktična napaka pri ali blizu tipa "type"

Napaka pri kopiranju poizvedbe v PgAdmin:

NAPAKA: sintaktična napaka pri ali blizu "SELECT" LINE 2:… 141033,6706842.085406107]]]} '), ST_GeomFromGeoJSON (SELECT ST_… ^ ********** Napaka ********* * NAPAKA: sintaktična napaka pri ali blizu stanja "SELECT" SQL: 42601 Znak: 335

Težava je videti, kot da gre za notranjo izjavo select funkcije. Morda bi lahko poskusili naslednjo različico?

"SELECT gid FROM building WHERE st_area (st_intersection (ST_GeomFromGeoJSON ('"+drawingGeo+"'), (the_geom)))/ st_area (ST_GeomFromGeoJSON ('"+drawingGeo+"'))> 0 AND gid ="+nm

Če želite uporabiti izvirno izjavo, menim, da bi dodajanje oklepajev pri izbiri notranjosti lahko pomagalo:

https://stackoverflow.com/questions/12452533/nested-query-as-postgis-function-parameter