Suite

Erreur sur ou près de « sélectionner » PostGIS

Erreur sur ou près de « sélectionner » PostGIS


J'utilise node.js pour me connecter à une base de données PostGIS afin de vérifier si une entité en entrée croise de manière significative une entité existante.

L'erreur semble provenir de l'instruction SELECT imbriquée - quelqu'un peut-il corriger cela pour moi ?

J'ai vérifié que les variables randomnum et drawingGeo sont des entrées valides (exemples ci-dessous). the_geom est aussi définitivement la colonne de géométrie.

dessinGeo = {"type":"Polygone","coordonnées":[[[-337154.39223673707,6715717.913400569],[-337111.09782618494,6715721.794968411],[-337102.4389440745,6715706.865861325],[-337135.2829796658,675715702.0885737 ]]]} nombre aléatoire = 11702

var drawquery = client.query('SELECT gid des bâtiments où(st_area(st_intersection(ST_GeomFromGeoJSON("'+drawingGeo+'"),ST_GeomFromGeoJSON( SELECT ST_AsGeoJSON(the_geom) des bâtiments où gid = '+aléatoire/+_'))) (ST_GeomFromGeoJSON("'+dessinGeo+'")) > .8');

EDIT : erreur donnée dans le nœud :

events.js:72 lanceur; // Evénement 'error' non géré ^ erreur : erreur de syntaxe au niveau ou à proximité de "type"

Erreur lorsque je copie la requête dans PgAdmin :

ERREUR : erreur de syntaxe à ou près de "SELECT" LIGNE 2 :… 141033,6706842.085406107]]]}'),ST_GeomFromGeoJSON(SELECT ST_… ^ ********** Erreur ********* * ERREUR : erreur de syntaxe à ou près de "SELECT" Etat SQL : 42601 Caractère : 335

Le problème semble être l'intérieur de l'instruction select à la fonction. Peut-être pourriez-vous essayer la version suivante ?

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

Si vous souhaitez utiliser la déclaration d'origine, je pense que l'ajout d'une parenthèse à la sélection intérieure pourrait aider :

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