J'ai 8 valeurs réelles dans une table que j'aimerais combiner dans un polygone. Je n'ai pas été capable de comprendre comment créer un polygone en utilisant ces valeurs cependant. Je continue d'essayer des variations de mais continuez à obtenir des erreurs sur la fonction de polygone non existante ou une syntaxe d'entrée non valide pour le type polygone. Quelqu'un a-t-il fait cela avant? P> P>
3 Réponses :
La syntaxe d'un polygone Postgres régulier est plus comme: P>
où 1 est un identifiant et que l'entrée citée est le polygone. Je m'attendrais à ce que la requête soit similaire, vous avez probablement besoin de parenthèses, etc. pour les coordonnées. Généralement pour les données géospatiales que vous souhaitez (LON LAT) coordonnées. Postgis prend également WKT déclarations telles que: p>
insérer dans des valeurs géo_tables (1, '((2,2), (3,4), (3,6), (1,1), (1,1))'); code> p>
geomfromtext ('polygone ((Long1 Lat1, Long2 Lat2, Long3 Lat3))') Code> P>
Cette déclaration WKT ressemble à ce que je veux, mais la base de données a été créée par Drupal (un CMS) afin que le modèle PostGIS n'était donc pas utilisé lors de la création. Puis-je convertir du texte en polygone une autre manière?
J'ai trouvé les instructions sur l'ajout de Postgis à une base de données et obtenez ceci pour travailler.
Comme mentionné par bvmou - geomfromtext code> fonctionnera bien.
J'ajouterai simplement une petite mise à jour de la syntaxe:
Cet exemple prend la longitude et la latitude coordonnées d'une table et les convertit en une géométrie. Les dimensions de chaque boîte sont données comme long_high, long_low, let_high et lat_low. Ici, une boîte d'environ 500 m de 500m.
Ajoutez une nouvelle colonne de géométrie 'Box' à la table P>
Mettez à jour le nouveau champ avec ces valeurs. p>
Notez la transformation en une référence spatiale différente. Le mot clé Polygon nécessite des deux parenthèses '(())'. P> p>