Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 27 May 2008 19:02

Caroline db
Juste Inscrit !
Date d'inscription: 27 May 2008
Messages: 9

Aide-obtenir la distance entre des points successifs d'un réseau

Bonjour,

Je suis étudiante et je ne connais pas bien arcGIS et toutes les fonctions qu'il possède.

Dans mon cas, je cherche à obtenir la distance entre les points successifs qui se trouvent sur un réseau.

J'ai le réseau et les points sur le réseau. Dans la base de donnée, j'ai les coordonnées des points.
Je cherche la distance séparant le point Pi au point Pi+1.

Est-ce qu'il existe une fonction le permettant. ou qu'est ce qu'il faudrait que je fasse pour arriver à ce résultat ?

Je ne sais pas si j'ai été très clair, ce n'est pas facile à expliquer mais je vous remercie d'avance si vous avez une solution à me proposer surtout qu'il faudrait que je finisse ce travail assez rapidement.

Merci,

Caroline

Hors ligne

 

#2 Tue 27 May 2008 20:01

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: Aide-obtenir la distance entre des points successifs d'un réseau

Deux solutions :

- On s'amuse à trouver un script ou à écrire ce script en VBA, rien de plus facile quand on du temps devant soi et qu'on sait programmer le VBA pour ArcGIS.

- On s'amuse à rajouter des champs et les remplir pour finir par avoir les distances voulues.

Je vais consacré ce message à une vue d'ensemble sur le deuxième point :

1) Un calcul ne se fait que sur une seule ligne. Il faut donc récupérer les données du point n +1 dans la ligne du point n.

2) Tout d'abord, il faut savoir qu'on va devoir abandonner le champ shape, qui n'est pas copiable. Pour la distance, il faut simplement les coordonnées X et Y du point i et du point i + 1. Avec ça, Pythagore est tout puissant. Enfin, Pythagore est tout puissant dans une géométrie Euclidienne. On prend donc bien soin d'avoir nos données dans une projection où l'altération linéaire n'est pas trop importante. On vérifie que le réseau n'est pas de taille géodésique (distances de plusieurs centaines de kilomètres voir beaucoup plus).

3) On crée donc deux champs et on y mets les valeurs X et Y (cf l'aide d'ArcGIS pour le comment de cette manip).

4) Ensuite, associer une ligne à une autre, ça s'appelle une jointure attributaire. On crée donc un champ où on va mettre la clef étrangère. Ici, la clé aura pour valeur (Identifiant de l'objet - 1 (ou + 1, selon le sens dans lequel vous voulez travailler).

5) Vous copiez alors couche, et faite la jointure. Vous avez alors sur chaque ligne quatre coordonnées (Xi, Yi, Xi+1, Yi+1). Vous pouvez donc rajouter un champ et calculer vos distances avec votre formule de Pythagore.


C'est plié on utilisant aucune fonction très compliquée d'ArcGIS, juste les fonctions de base. Les fonctions les plus compliquées sont celles pour récupérer les coordonnées.

Maintenant, si un script existe déjà, tant mieux smile


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#3 Tue 27 May 2008 21:48

ppluvinet
Participant assidu
Lieu: VALENCE
Date d'inscription: 6 Aug 2007
Messages: 617

Re: Aide-obtenir la distance entre des points successifs d'un réseau

Une matrice origine-destination avec l'extension NetworkAnalyst peut faire l'affaire. Mais NetworkAnalyst n'est peut-être pas accessible à tout le monde (coût et temps de formation ou d'autoformation)!

je m'avance peut-être....


Pascal PLUVINET

Hors ligne

 

#4 Thu 29 May 2008 16:06

Caroline db
Juste Inscrit !
Date d'inscription: 27 May 2008
Messages: 9

Re: Aide-obtenir la distance entre des points successifs d'un réseau

Bonjour,

Tout d'abord merci pour vos réponses.

Je dispose de Network Analyst à l'université donc je me suis penchée sur cette solution.

On a un reseau avec des points dessus. On voudrait arriver à faire une matrice avec les distances entre chaque point successif.

Quelle est la démarche à suivre avec Network Analyst ?

En ce qui concerne la première solution proposée par Géôme, il faudrait que l'on connaisse l'ordre des points, ce que l'on a pas.

Merci d'avance pour votre réponse.

Caroline

Hors ligne

 

#5 Thu 29 May 2008 22:33

ppluvinet
Participant assidu
Lieu: VALENCE
Date d'inscription: 6 Aug 2007
Messages: 617

Re: Aide-obtenir la distance entre des points successifs d'un réseau

C'est un peu difficile de vous expliquer les marche à suivre, mais il existe je sais sur internet des tutoriaux sur Network Analyst.

Je peux vous dire que la première étape est sur Arccatalog. en faisant un clic droit sur votre réseau (initialement en polyline  .shp) vous pouvez configurer votre réseau.

puis dès que vous avez créé votre réseau alors vous faites "ajouter données" sur ArcMap.

Vous ouvrez la barre d'outils de NetworkAnalyst et vous trouverez l'outils pour faire des matrices origine destination.

Récemment en formation à l'université, nous avons eu 1 journée entière de formation intensive sur NetworkAnalyst après plusieurs journée de formation sur ArcMap et Spatial Analyst, c'est difficile (et très long) de vous dire la marche à suivre!

Peut-être que quelqu'un prendra le temps nécessaire pour vous répondre...

Bon courage,

Pascal


Pascal PLUVINET

Hors ligne

 

#6 Thu 29 May 2008 23:24

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: Aide-obtenir la distance entre des points successifs d'un réseau

Ah mais Caroline ! tongue

Tu as évoqué la distance entre le point Pi et le point Pi+1. Pour moi, il n'y avait aucune ambiguité, et ce n'était pas forcément les points les plus proches big_smile

J'ai programmé ça en compliqué avec comme moteur SIG ArcGIS. Reprendre le code pour avoir quelque chose de simple et d'exploitable me prendrait un peu trop de temps, je pense que Network Analyst est la solution, même si au passage tu devrais faire des choses qui ne servent pas immédiatement. Je pense que connaitre cet outils est utile si tu manipules des réseaux.

Si tu patauges dans Network Analyst. Reviens par ici. J'ai une idée pour faire un mixte de calculette ArcGIS, de VBA et de mon ancien programme pour que ça marche comme sur des roulettes. Que si tu patauges, car il faut que je m'y remette big_smile


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#7 Fri 30 May 2008 23:21

Caroline db
Juste Inscrit !
Date d'inscription: 27 May 2008
Messages: 9

Re: Aide-obtenir la distance entre des points successifs d'un réseau

Merci !

Je vais essayer de m'aider de tutoriaux sur Network Analyst même si ça n'a pas l'air très simple tout ça !

Bon week-end

Caroline

Hors ligne

 

#8 Mon 02 June 2008 22:06

Caroline db
Juste Inscrit !
Date d'inscription: 27 May 2008
Messages: 9

Re: Aide-obtenir la distance entre des points successifs d'un réseau

Bonjour,

J'ai finalement réussi à comprendre à peu près comment fonctionnait network analyst pour obtenir une matrice OD.

Nous avons trouvé la solution à notre problème mais un autre est survenu.

Nous avons chargé la couche des origines et la couches des destinations mais lorque nous obtenons la matrice, il y a un problème car un point devrait avoir au maximum 4 ou 5 destinations (car se sont des points situés sur un réseau (dessiné à la main). Il y a des points qui ont jusqu'à 31 destinations.

il prend surement les points situés sur toute la polyline dessinée. Il faudrait alors diviser le réseau en fonction des points. Cela est-il possible ? comment ?

Merci d'avance de m'apporter les quelques interrogations qu'il me reste pour finir !

Caroline

Hors ligne

 

#9 Mon 02 June 2008 22:24

ppluvinet
Participant assidu
Lieu: VALENCE
Date d'inscription: 6 Aug 2007
Messages: 617

Re: Aide-obtenir la distance entre des points successifs d'un réseau

Il y a moyen de paramétrer la distance d'accrochage au réseau sur Network Analyst.
Lorsque vos obtenez la matrice OD, vous pouvez également selectionner les destinations les + proches; par exemple les distances OD de moins de 5 km, ou simplement la destination la plus mroche. Cela peut se faire facilement sous access.

Pascal


Pascal PLUVINET

Hors ligne

 

#10 Tue 03 June 2008 09:05

Caroline db
Juste Inscrit !
Date d'inscription: 27 May 2008
Messages: 9

Re: Aide-obtenir la distance entre des points successifs d'un réseau

Bonjour Pasacal ! Merci de m'avoir répondu si vite !

- Vous savez où est-ce que je peux paramétrer l'accrochage du réseau ? parce que je n'ai pas trouvé.

- Et le problème de faire le tri dans la matrice OD c'est que je ne sais pas combien de point successif il y a à pour un point (c'est un réseau routier, il y a donc des points avec 1 ou 2 ou 3 ou 4 points proches de lui)

Sinon la solution se serait de découper le réseau par rapport au point qui sont dessus mais là aussi je ne sais pas comment on fait !

Merci pour votre réponse ! smile

Caroline

Hors ligne

 

#11 Fri 06 June 2008 13:53

ppluvinet
Participant assidu
Lieu: VALENCE
Date d'inscription: 6 Aug 2007
Messages: 617

Re: Aide-obtenir la distance entre des points successifs d'un réseau

Peut-être que depuis le temps, vous avez trouvé une solution à votre problème. Néanmoins, si vous cherchez le point le plus proche, il suffit avec ACCESS de faire une requette:
Orgine : regroupement
Destnation : regroupement
Distance : minimum

Pascal


Pascal PLUVINET

Hors ligne

 

#12 Mon 09 June 2008 15:14

Caroline db
Juste Inscrit !
Date d'inscription: 27 May 2008
Messages: 9

Re: Aide-obtenir la distance entre des points successifs d'un réseau

Merci pour votre réponse,

Mais si je fais cette manip je n'ai que la distanc avec le point le plus proche mais pas avec les points consécutifs.

C'est pour ça que je cherche à segmenter mon réseau...

Caroline

Hors ligne

 

#13 Mon 09 June 2008 15:25

ppluvinet
Participant assidu
Lieu: VALENCE
Date d'inscription: 6 Aug 2007
Messages: 617

Re: Aide-obtenir la distance entre des points successifs d'un réseau

Maintenant avec Access, ru peux faire le point le plus proche, ou des requettes telles que "les 5 + proches", ou ceux à moins de "10km du point de départ..."

En fait, ce serait bien que tu repose ta question en nous disant où tu en es et ce que tu cherche exactement; peut-être avec d'autres mots...

A bientot,


Pascal


Pascal PLUVINET

Hors ligne

 

Pied de page des forums

Powered by FluxBB