Bienvenue! Inscrivez-vous et rejoignez notre communauté :)
  • Login:

Bienvenue sur Forum SIG - Systèmes d'Information Géographique et Géomatique.

Bienvenue sur le forumSIG. S'il s'agit de votre première visite, assurez vous de faire une recherche préalable dans les FAQ SIG. Vous devez vous inscrire avant de pouvoir poster.

Affichage des résultats 1 à 5 sur 5
  1. #1

    Date d'inscription
    juin 2008
    Localisation
    Lausanne, Suisse
    Emploi
    Géographe aménagiste du territoire
    Âge
    33
    Messages
    70

    Par défaut Division ligne selon proximité polygone

    Bonjour,

    J'ai un shp de lignes de cours d'eau et un shp de polygones de secteurs urbanisés.

    J'aimerais créer un Model builder me permettant diviser mes cours d'eau en tronçons selon s'ils sont à une distance de moins de 100 m d'une zone urbanisée ou non.

    J'ai vu plusieurs outils qui me semblent permettre d'y arriver mais via les licences Standard, Advanced ou via le complément Spatial Analyst. Or je n'ai que ArGIS Desktop 10.3 basic sans aucun complément payant.

    Quelqu'un voit-il une solution?

    Cliquez sur l'image pour la voir en taille réelle 

Nom : 		DOC070818.jpg 
Affichages :	27 
Taille :		50,1 Ko 
ID : 			9061

    (aussi posté dans https://community.esri.com/thread/21...asic?sr=stream)

  2. #2

    Date d'inscription
    août 2018
    Messages
    9

    Par défaut Re : Division ligne selon proximité polygone

    Bonjour

    Problème très intéressant,
    Voici à mon avis un début de piste :



    Dans tous les cas le model commencera par copier la couche en entrée car il va y avoir de la suppression durant le processus

    Pour être plus clair dans l'explication je vais nommer les différents acteurs de base :

    LR = ligne de la riviere
    BR = buffer (zone tampon) de la rivière de 100 mètre, en partant du principe que vous l'avez déjà appliqué
    PO = Couche Originale des polygones

    Tout au long de l'algo je rajouterais des lettre afin de rendre l'explication plus claire

    Nous avons ici un traitement en 3 étapes :
    1ere étape : traiter les polygones qui touchent directement la rivière et découper celle ci selon ces mêmes polygones
    2eme étape : traiter ceux qui ne touchent pas BR et les écarter afin de pouvoir traiter la 3eme catégorie (la plus dure)
    3eme étape : traiter les polygones qui coupent BR et couper LR selon ces polygones

    1) pour traiter les polygones qui coupent directement LR . Je procéderais de la manière suivante :

    a. Sélectionner tous les polygones qui coupent la LR (select by location avec intersect)
    b. Appliquer un premier Intersect Tool pour obtenir les segment de LR compris à l’intérieur des polygones croisant celle ci Appelons la couche de sortie "A"
    c. Appliquer un deuxieme intersect entre LR et A; le resultat appelons le B; est une couche de la riviere entrecoupés aux limites des premiers polygones (ceux qui coupent la riviere)

    2) pour traiter les polygones qui ne coupent pas du tout la riviere :

    a. Prendre la couche B puis faire une sélection par emplacement (by location) avec intersection entre B et BR (le buffer de 100m)
    b. Prendre les polygones sélectionnés, inverser la sélection et vous obtenez ceux qui ne touchent pas du tout le BR et donc qui n'auront pas d'impacte sur le découpage de la rivière.
    c. supprimez ces polygones.

    3) pour traiter les polygones qui restent (le cas ou ils touchent le Buffer mais pas la riviere) :

    a. Reprendre B (après suppression des polygones qui ne touchent pas) puis lui appliquer une zone tampon (buffer) de 100m appelons le resultat de sortie BP (pour buffer polygons)
    b. Effectuer un Intersect Tool entre BP et A (la rivière déjà coupée a l’étape 1) appelons le résultat C
    c. Effectuer un second Intersect tool entre C et A et vous obtiendrez une rivière entrecoupée de segments correspondant aux zones d'urbanisation (à quelques metre pres mais d'après votre dessin cela devrait correspondre à votre besoin)

    J'appliquerais d'abord cette algo à la main afin de voir les résultat et je construirais le model au fur et à mesure.

    Bon courage

  3. #3
    Rédacteur Supporter(rice)

    Date d'inscription
    octobre 2008
    Localisation
    Le caillou
    Emploi
    Développeur SIG
    Âge
    33
    Messages
    1 912

    Par défaut Re : Division ligne selon proximité polygone

    Bonjour,
    En inversant la formulation du problème c'est beaucoup plus facile !
    Le but est donc d'obtenir les tronçons de cours d'eau qui sont dans une zone urbanisée ou 100 mètres autour.

    Donc :
    - buffer de 100 mètres autour des zones urbanisées
    - union cours d'eau avec ce buffer
    - dans le résultat de cette union, les polylignes ayant une info issue de la couche de buffer sont ceux à moins de 100 mètres d'une zone urbanisée.

  4. #4

    Date d'inscription
    août 2018
    Messages
    9

    Par défaut Re : Division ligne selon proximité polygone

    Citation Envoyé par Barbapapa Voir le message
    Bonjour,
    En inversant la formulation du problème c'est beaucoup plus facile !
    Le but est donc d'obtenir les tronçons de cours d'eau qui sont dans une zone urbanisée ou 100 mètres autour.

    Donc :
    - buffer de 100 mètres autour des zones urbanisées
    - union cours d'eau avec ce buffer
    - dans le résultat de cette union, les polylignes ayant une info issue de la couche de buffer sont ceux à moins de 100 mètres d'une zone urbanisée.
    Bonjour,
    Alors ce que vous proposez poserais en fait problème pour la première catégorie de polygone (d'après ce que je comprend du schéma)
    Je parle de ceux qui coupent déjà le cours d'eau.
    Si vous appliquez un buffer 100 sur tous les polygones dès le début, les polygones qui sont sensés couper la rivière d'eux même, verrons leurs zones urbaine extrapolées.

    Effectivement, après avoir traîté ces polygones, on peut tout à fait commencer par le buffer de 100m autour des polygones restant et se passer du buffer autour de la rivière. Mais cela impliquerais un nouvelle analyse sur le resultat de l'intersection entre ce buffer et la polyline de la rivière afin d'écarter tout polygone ne la croisant pas.

    Qu en pensez vous ?

  5. #5
    Rédacteur Supporter(rice)

    Date d'inscription
    octobre 2008
    Localisation
    Le caillou
    Emploi
    Développeur SIG
    Âge
    33
    Messages
    1 912

    Par défaut Re : Division ligne selon proximité polygone

    Citation Envoyé par Geoform Voir le message
    Alors ce que vous proposez poserais en fait problème pour la première catégorie de polygone (d'après ce que je comprend du schéma)
    Je parle de ceux qui coupent déjà le cours d'eau.
    Si vous appliquez un buffer 100 sur tous les polygones dès le début, les polygones qui sont sensés couper la rivière d'eux même, verrons leurs zones urbaine extrapolées.

    Effectivement, après avoir traîté ces polygones, on peut tout à fait commencer par le buffer de 100m autour des polygones restant et se passer du buffer autour de la rivière. Mais cela impliquerais un nouvelle analyse sur le resultat de l'intersection entre ce buffer et la polyline de la rivière afin d'écarter tout polygone ne la croisant pas.

    Qu en pensez vous ?
    Bonjour,
    Tout dépend si Grégoire veut pouvoir distinguer les portions de tronçons en zone urbaine des portions à moins de 100 mètres :
    - si oui :
    - d'abord une union cours d'eau -> zone urbaine
    - une autre union entre le résultat ci-dessus et la zone tampon de 100 mètres autour des zones urbaines
    - si non : ma méthode fonctionne directement.

    Par contre, le schéma et la question ne sont pas tout à fait raccord, au moins pour la zone urbaine de droite où le découpage du tronçon ne correspond pas au 100 mètres.
    Soit le schéma est faux soit l'énoncé est incomplet et serait plutôt : identifier les tronçons à moins de 100 mètres orthogonalement. Et dans ce cas, c'est beaucoup plus complexe, surtout sans programmation.

 

 

Discussions similaires

  1. [QGIS 2.x] Creation automatique polygone autour d'une ligne selon attribut cette ligne
    Par Matou dans le forum Assistance et Programmation
    Réponses: 0
    Dernier message: 05/12/2016, 23h01
  2. [ArcGIS 10.x] Regrouper des polygones selon leur proximité spatiale
    Par CLEMLE dans le forum Assistance Technique
    Réponses: 5
    Dernier message: 15/06/2016, 12h36
  3. [ArcGIS 10.x] Points répartis sur ligne, selon valeurs d'un champ
    Par cec_92 dans le forum Assistance Technique
    Réponses: 2
    Dernier message: 29/01/2016, 08h42
  4. [ArcGIS 9.x] Division d'une couche polygonale selon attribut
    Par nazde dans le forum Assistance Technique
    Réponses: 1
    Dernier message: 19/05/2009, 16h03
  5. Réponses: 6
    Dernier message: 17/02/2009, 15h46

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •