Suite

Coût de génération de surface


J'aimerais avoir des conseils sur la façon de générer une surface de coût pour les données dont je dispose. Essentiellement, j'ai obtenu un DEM 1x1 pour le territoire à l'étude (à savoir, une île) et j'ai également numérisé la ligne de ressort à l'aide de polylignes. Mon objectif serait de calculer pour n'importe quelle cellule donnée sur toute l'île la distance par rapport aux polylignes, mais également en tenant compte de l'élévation du terrain. Je connais la distance euclidienne, mais cette dernière ne serait pas utile car elle ne prend pas en compte la variable d'altitude. J'ai essayé de consulter l'aide d'ArcGIS mais je n'ai pas eu de chance de trouver quelque chose qui pourrait correspondre à ma situation. Peut-être que la solution pourrait éventuellement se résumer à pondérer la distance euclidienne par une certaine valeur (élévation ?), mais je n'arrive pas à me faire une idée du problème.


  1. Dans les paramètres d'environnement, définissez l'étendue spatiale = étendue DEM, taille de cellule d'analyse raster = DEM
  2. Créez une valeur raster constante (COST) à l'aide de la calculatrice raster. Tapez 1 dans la zone d'expression, nom du raster en sortie = COST
  3. Créez un champ, tapez short, dans votre table springs, remplissez avec le même entier, c'est-à-dire 1
  4. Convertissez les ressorts (entités en raster) à l'aide de ce champ, sortie = DESTINATION
  5. Exécutez le lien de retour de distance de chemin. Raster d'entrée = DESTINATION, backlink de sortie = DIRECTION
  6. Exécuter la distance du chemin. Input = DESTINATION, Input cost = COST, Input surface = DEM. Sortie d'appel DISTANCE

DISTANCE est le résultat que vous recherchez. Calculez la distance euclidienne jusqu'à la DESTINATION, sortie = OLDGREEK. Utilisez le calculateur raster "DISTANCE" - "OLDGREEK", pour vérifier si votre distance topographique est réellement => distance à vol d'oiseau. La sortie doit être non négative, voir photo si je parviens à la joindre…

Je suis perplexe cependant. Quelle est la physique, c'est-à-dire qui ou quoi va voyager le long de ces lignes droites ? Tout ce que j'ai dit ci-dessus dans mes commentaires sur vecteur vs raster reste le même, c'est-à-dire que votre résultat est une exagération des distances réelles. Une solution plus précise peut être obtenue en utilisant des vecteurs, mais nécessite trop d'efforts


Ce que vous voulez probablement essayer, c'est la distance de chemin, en utilisant un raster de valeur constante (par exemple, tous les zéros) comme surface de coût et le DEM (élévation) comme facteur vertical. Cela ajoutera le coût de la montée (ou de la descente) à la distance de base.


Je pense que ce dont vous avez besoin est la boîte à outils Hydrologie dans Spatial Analyst, elle fait exactement ce que vous recherchez. Le seul point délicat est de modifier votre DEM, afin qu'il n'ait PAS de valeur DATA, là où se trouvent les flux. Ainsi les étapes sont :

  1. Convertissez les flux en raster, en utilisant n'importe quel champ numérique. Étendue et taille de cellule définies sur DEM. Sortie = raster "flux"
  2. affecter NO DATA aux cellules sous les flux à l'aide de la calculatrice raster

    Con(EstNull("flux"),"DEM")

  3. Utilisez l'outil de remplissage sur DEM. Il crée une sortie sans puits = "Rempli"

  4. Utilisez Flow Direction sur "Rempli". Sortie = "Flowdir"
  5. Utilisez "Flow Length" sur "Flowdir" avec l'option "DOWNSTREAM"

Vous souhaiterez peut-être remplacer les cellules sous les flux par 0 dans le raster FlowLength. Peut être fait à l'aide de la calculatrice raster

Con( ~IsNull("flux"),"FlowLength", 0)


Voir la vidéo: Paramètres de Dimensions Customs: Noise Settings - Guide Datapack #10 - Minecraft FR (Octobre 2021).