Suite

Calculer la longueur totale des lignes dans le polygone ?

Calculer la longueur totale des lignes dans le polygone ?


J'ai essentiellement la même énigme que Calculer la longueur des segments de ligne dans un polygone à l'aide d'ArcGIS Desktop? mais je travaille dans PostGIS, pas ArcGIS. Des pointeurs?

Cette requête semble vouloir fonctionner, juste pour afficher les sommes :

SELECT comté, ST_LENGTH(ST_Intersection(counties.the_geom,routes.the_geom)) FROM counties, routes WHERE ST_Intersects(counties.the_geom, routes.the_geom)

Mais je ne suis pas sûr d'avoir bien compris et Je ne peux pas comprendre comment remodeler cela dans une requête de mise à jour.


Si j'ai bien compris la traduction, procédez comme suit :

1)

CREATE TABLE sum_length as SELECT ST_INTERSECTION(a.the_geom, b.the_geom) as geom, ST_LENGTH(geography(a.the_geom)) as sum_length FROM counties a INNER JOIN routes b ON ST_INTERSECTS(a.the_geom, b.the_geom) GROUP BY a .the_geom, b.the_geom;

2)

SELECT SUM(sum_length.geom) FROM sum_length;

Important : les lignes de données d'origine - tapez LineString ; EPSG 4326.

La longueur totale des lignes sera en mètres, avec respect.

Si vous n'aimez pas danser à l'ancienne comme moi pas à pas, dansez de manière moderne et indépendante en exécutant le script suivant :

AVEC sum_length as (SELECT ST_LENGTH(ST_Intersection(a.geom::geography, b.geom::geography)) as geom FROM counties a, routes b WHERE ST_Intersects(a.geom, b.geom)) SELECT SUM(sum_length.geom ) FROM longueur_somme;

Bonne chance :-)


Essaye ça:

SELECTIONNER le comté, SUM(ST_Length(ST_Intersection(counties.geom,routes.geom))) FROM counties JOIN routes ON ST_Intersects(counties.geom, routes.geom) GROUP BY county ;

Voir la vidéo: Tutoriel ArcGIS: Reprojection et calcul de la longueur dune ligne shapefile