Créer des chemins dans les limites à l'aide d'ArcGIS Desktop?


11

Je cherche à créer des voies de déplacement des poissons en fonction des emplacements observés.

Étant donné que je regarde les mouvements de poissons dans les rivières et les lacs, le simple fait de relier les points pour former une polyligne ne fonctionnera pas, car de nombreux chemins se feraient sur terre. J'ai besoin d'un moyen de restreindre les voies de circulation à l'intérieur des limites de l'eau.

Je ne suis pas programmeur et je me fie aux outils de la boîte à outils Arc pour effectuer les opérations. Une nouvelle colonne dans le FAT avec la distance entre les points séquentiels serait également utile.

J'utilise ArcMap 10.

Quelqu'un a-t-il des suggestions sur la façon de générer les trajectoires de mouvement?


Un peu plus d'informations sur les données; la majorité des emplacements sont collectés à partir de récepteurs distants qui ont tendance à générer beaucoup d'observations (un de mes projets a plus de 3 millions de détections et augmente, chaque enregistrement de détection comprenant un ID, datetime, lat et long). Si un poisson reste dans la plage de détection d'un récepteur, il est détecté environ une fois toutes les deux minutes, ce qui entraîne de nombreuses observations (points), donc ma première étape consiste à faire la moyenne des lat et long sur une période de temps dans ce cas 1 jour . La moyenne des détections dans l'habitat du lac fonctionne généralement bien, mais cela dans les portions de la rivière peut entraîner des détections à l'extérieur de la frontière rivière / lac. Donc la première chose que je dois faire est de "claquer" les emplacements moyens dans la limite de la rivière / du lac, puis je voudrais créer un chemin de déplacement limité à l'intérieur de la limite de la rivière / du lac, idéalement, ce chemin devrait inclure la distance pour chaque segment de ligne. Mes rivières sont des polylignes et les lacs sont des polygones, mais je peux convertir les rivières en polygones si nécessaire. Alternativement, je pourrais utiliser les données brutes non moyennées et toutes mes détections se trouveraient dans la limite, bien que la création de chemins de mouvement restreints à l'intérieur de la limite soit toujours problématique, mais cela entraînerait beaucoup de données.

L'image ci-jointe montre les positions moyennes quotidiennes pour deux poissons différents.

entrez la description de l'image ici


Quelle est la densité de vos points d'observation? Je suppose que vous avez au moins des polygones de rivière et des points d'observation. Une approche grossière, je pense, serait de découper la couche de points d'observation en utilisant les polygones de la rivière. De cette façon, vous vous retrouveriez avec les points d'observation qui sont sur la rivière. Je ne connais cependant pas assez vos besoins. Pourriez-vous vous permettre de perdre quelques points tant qu'un chemin peut être tracé?
RK

Pourriez-vous fournir plus de détails? Par exemple, quelles données avez-vous actuellement? Comment obtenez-vous les «emplacements observés»?
RK

La rivière a de nombreuses courbes et courbes, donc même si les emplacements étaient limités à ceux à l'intérieur de la rivière, de nombreuses lignes générées traverseraient toujours en dehors des limites de la rivière, non?
user10320

Pouvez-vous fournir des exemples de données? Ou au moins une capture d'écran des données.
RK

a ajouté des informations supplémentaires au message d'origine
user10320

Réponses:


3

À mon avis, il serait préférable de faire l'analyse en utilisant des rasters (surfaces de coûts pour être précis). Une ébauche de méthode pourrait être:

  • Fusionnez d'abord (Outils de gestion des données> Général> Fusionner) vos contraintes («terre») et vos polygones de rivières / lacs en vous assurant d'ajouter un champ qui fait la distinction entre les deux couches (c'est-à-dire «Type» = terre ou plan d'eau).
  • Convertissez votre polygone fusionné en raster à l'aide de Polygone en raster (Outils de conversion> En raster> Polygone en raster). Choisissez une taille de cellule appropriée qui représente le mieux vos données (en gardant à l'esprit qu'une résolution plus élevée se traduira par un fichier plus volumineux et aura toujours un impact sur le temps de traitement) et supprimez une étendue de traitement à l'aide de Géotraitement> Environnements> Étendue de traitement.
  • Reclassifiez votre raster en booléen pour limiter l'analyse aux zones d'eau uniquement, c'est-à-dire 0 = terre, 1 = plan d'eau
  • Convertissez vos emplacements de poissons en raster, en vous assurant que vous conservez la même résolution et étendue de cellule et que les emplacements sont identifiables à l'aide d'un reclassement si nécessaire (c'est-à-dire, utilisez 2 et 1)
  • J'utiliserais alors une surface de coût (simplement, un raster de même résolution et étendue, qui représente le «coût» de déplacement à travers une cellule). Ce raster pourrait simplement consister en une valeur uniforme (dans ce cas, l'itinéraire le plus court serait sélectionné comme optimal) ou, mieux encore, peut-être des débits ou de la turbidité qui reflètent mieux l'environnement dans lequel les poissons voyagent (dans ce cas, le moins coût cumulé serait optimal). Voir Distance de coût - Spatial Analyst> Distance> Distance de coût).
  • Enfin, utilisez Cost Path ( Cost Path - Spatial Analyst> Distance> Cost Path) pour identifier le chemin le moins coûteux de votre source vers les cellules de destination (emplacement observé).

Cela semble prometteur, mais je n'ai pas beaucoup d'expérience avec les données raster. Ma zone d'étude est d'environ 600 km ^ 2 si j'utilisais des cellules de 100 m, cela donnerait 6 millions de cellules. Si en moyenne, mes détections de localisation par jour, j'ai environ 42 000 enregistrements de localisation pour mes 60 animaux d'étude. Cela semble-t-il toujours une bonne approche ou serait-ce trop gourmand en données?
user10320

1
Je dirais que l'approche raster était plus adaptée aux procédures gourmandes en données qu'aux alternatives vectorielles. Il pourrait être judicieux de diviser la méthode par espèce (c'est-à-dire 60 cartes de coûts distinctes). Cela rendra les jeux de données plus faciles à gérer, mais un compromis évident est le temps supplémentaire nécessaire pour répéter les expériences. Une question poignante pourrait être; les cellules de 100 m sont-elles un bon substitut pour les données que vous utilisez? J'entends par là, compte tenu de la mesure cumulative et des erreurs spatiales inhérentes à vos ensembles de données, cette taille de cellule est-elle la plus adaptée? La réduction de la taille des cellules réduira le temps de traitement.
veedub

2

Si les rivières sont des lignes:

Une bonne approche pour traiter ces questions est le référencement linéaire. C'est assez complexe, mais offre de nombreuses possibilités. L' ArcGIS Help contient de nombreuses informations sur le référencement linéaire . Verrouillez les scénarios de référencement linéaire et les exemples d'applications de référencement linéaire pour voir quelles possibilités le référencement linéaire vous offre.

Certains des outils que vous devez utiliser sont:

Créer des itinéraires

Localiser les entités le long des itinéraires

Créer une couche d'événement d'itinéraire

Comme je l'ai dit, c'est une approche complexe et il faut du temps pour comprendre l'approche de référencement linéaire (et pour l'utiliser dans ArcGIS), mais le référencement linéaire vous offre de nombreuses opportunités.


1
Le référencement linéaire peut être une solution si seule la position la plus haute et la plus basse d'un poisson doit être utilisée. Je suppose qu'un poisson ne nage pas dans une seule direction? Un poisson nage en amont puis en aval puis en amont encore et ainsi de suite? Dans ce cas, le référencement linéaire ne sera pas une bonne solution.
Jens

1

Si vous convertissez les rivières du polygone en lignes, vous pouvez utiliser Network Anlayst pour analyser les trajets des poissons.

Vous pouvez faire une analyse d'itinéraire . Les positons d'un poisson sont les arrêts . Il existe une option USE_INPUT_ORDER pour les arrêts, afin que les arrêts soient visités dans l'ordre d'entrée.

Network Analyst a besoin d'un réseau de lignes. Je n'ai aucune idée de goog comment gérer les polygones des lacs. Peut-être créez-vous un jeu de données linéaire (grille de lignes) à l'intérieur des lacs?


0

Pour calculer la position moyenne sur une période de temps, vous pouvez essayer l' outil Central Feature Tool . La position de résultat sera à l'intérieur de la rivière.


0

Vous pouvez essayer de connecter tous les points, puis diviser les polylignes aux sommets et supprimer les morceaux de terrain intersectés par le polygone de terrain (que vous pouvez faire en effaçant la rivière du polygone de la zone d'étude), puis fusionner les segments restants.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.