J'ai un vecteur de polygone et je souhaite atteindre rapidement le centroïde de ce polygone pour insertion dans un document texte. Je travaille avec QGIS. J'ai cherché d'autres questions et, bien que certaines soient un peu proches, elles ne répondent pas tout à fait à ma question.
Idéalement, les coordonnées centroïdes seraient dans la table attributaire du polygone et je pourrais simplement copier et coller les coordonnées.
Je ne veux pas avoir à créer un fichier de vecteur de points séparé qui représente le centroïde, puis à trouver ces coordonnées et à les copier / coller.
Réponses:
Un centroïde est par définition un calque de points et non un polygone. Par conséquent, vous devez créer une nouvelle couche facile à utiliser dans QGIS 1.8 et les versions ultérieures.
Ensuite, vous pouvez créer une jointure spatiale pour ajouter les colonnes de centroïdes aux polygones et supprimer à nouveau le calque de points.
la source
Effectivement, créer un nouveau fichier de formes est l’une de vos options les plus simples. Cependant, vous n'avez pas besoin de copier et coller les coordonnées. Faire ceci:
Sinon, vous devrez importer vos données dans PostGIS, puis parcourir les polygones à l'aide de la fonction ST_Centroid et stocker le résultat dans un nouveau champ. Le travail est à peu près le même, mais la deuxième option signifie que vous n’avez pas de fichier de points centroïdes séparé.
la source
Une réponse plus robuste à la réponse de Mike:
long = toreal(regexp_substr(geom_to_wkt(centroid($geometry)), '(-?\\d+\\.?\\d*) -?\\d+\\.?\\d*')) lat = toreal(regexp_substr(geom_to_wkt(centroid($geometry)), '-?\\d+\\.?\\d* (-?\\d+\\.?\\d*)'))
la source
Pourquoi ne pas utiliser ceci dans la calculatrice de champs 2.2?
Champ long = substrat (geomToWKT (centroïde ($ geometry)), 7, 12)
Lat field = substr (geomToWKT (centroïde ($ geometry)), strpos (geomToWKT (centroïde ($ geometry)), '') +2, 12)
Il semble que cela soit traité dans la version 2.6 avec l’option xmin xmin (centroid ($ geometry))
la source
Je viens de tomber sur ce post avec près de 5 ans de retard (!), Mais voici ce que je fais pour calculer les centroïdes polygonaux à la version 2.18.14:
la source
Associez la table des points centroïdes à la table des polygones, puis indiquez les coordonnées avec le nom et la forme du polygone. Les polygones n'ont pas un seul long en eux-mêmes
la source
Je suis tombé sur ce post et il était difficile à suivre, a suggéré une mise à jour:
Remarque: Ceci calculera la latitude et la longitude dans les coordonnées de votre projection (qui peuvent être des mètres). Si vous souhaitez que les coordonnées soient exprimées en degrés décimaux (avec je suppose que c'est le cas ou qu'elles sont généralement incompréhensibles), commencez par enregistrer le calque dans ce CRS: EPSG: 4326, WGS 84.
la source
lon = ToReal (regexp_substr (geomToWKT (centroïde ($ geometry)), '([\ s]')) lat = ToReal (regexp_substr (geomToWKT (centroïde ($ geometry)), '\ s [)]'))
la source