Comment extraire des lignes de rupture d'un DEM donné?

10

Les lignes de rupture sont très utiles pour décrire un terrain - par exemple pour construire un TIN exact.

Ma question est, comment extraire ces lignes de fracture d'un DEM donné?

J'ai calculé la courbure (verticale) - raster (en utilisant arcgis 10), où vous pouvez voir les lignes de rupture (courbure min / max), mais je n'ai pas compris comment les extraire pour obtenir des polylignes à la fin.

Quel est le flux de travail pour obtenir ces lignes de rupture à partir d'un DEM?

Quelqu'un a-t-il une idée d'un flux de travail, ou d'un "outil", ou d'un skript, qui peut aider?

Je pense que je ne suis pas le premier / dernier homme à vouloir effectuer cette tâche :)

... en attendant, j'ai trouvé un article sur ce sujet qui semble être une bonne solution, mais la grande question demeure: comment réduire cela à la pratique?

Ou quelqu'un at-il une approche différente (plus facile?) Avec certains logiciels?

sampler72
la source
Pour autant que je me souvienne, QuikGrid peut très bien détecter les lignes de rupture, bien qu'il fonctionne principalement avec des points de masse.
Jan Šimbera
Quel type de lignes de rupture souhaitez-vous extraire? Le plus courant serait l'aplatissement hydraulique, mais des lignes de rupture peuvent être utilisées pour les routes. Je ne comprends pas la question car les lignes de rupture sont nécessaires avant de créer le DEM. Pouvez-vous clarifier?
geomatix

Réponses:

2

Je l'essayerais de cette façon: recherchez une valeur critique dans le fichier raster de courbure. Au-dessus de cette valeur, vous vous attendez à une rupture.

Ensuite, j'utiliserais des instructions conditionnelles dans la calculatrice raster pour utiliser "1" pour les pixels au-dessus de la critique et 0 en dessous de la valeur critique. Utilisez ce raster binaire pour la conversion raster en polygone dans la boîte à outils. vous trouverez une réponse sur la façon d'aligner le polygone ici

après tout, vous pouvez créer un modèle à partir de ces étapes.

Riccardo
la source
pourrait avoir à utiliser grignoter ou une fonction d'éclaircissement en fonction de ce qui sort, mais je pense que la réponse de @ butcher est dans le mille.
Roland
2

Conrec fait cela. Cependant, il a été initialement écrit en fortran, il a donc été porté plusieurs fois.

Une bibliothèque sur laquelle j'ai travaillé dans node.js, turf , utilise cet algorithme pour créer ces contours à partir de données vectorielles ponctuelles. Le script pour ce faire est assez simple et serait essentiellement:

var t = require('turf')
var fs = require('fs')
var z = 'elevation'
var resolution = 15
var breaks = [.1, 22, 45, 55, 65, 85,  95, 105, 120, 180]

t.load('./path/to/points.geojson', function(err, points){
  t.contour(points, z, resolution, breaks, function(err, contours){
    if(err) throw err
    fs.writeFileSync('.path/to/output.geojson', contours)
  })
})

Vous pouvez également générer des pauses naturelles jenks si vous n'avez pas de pauses spécifiques à l'esprit:

var t = require('turf')
var propertyName = 'elevation'
var num = 10

t.load('./path/to/points.geojson', function(err, pts){
  if(err) throw err
  t.jenks(pts, 'elevation', num, function(err, breaks){
    if(err) throw err
    console.log(breaks) // [ 11, 12, 18, 25, 29, 41, 50, 55, 76, 90, 143 ]
  })
})
Morgan Herlocker
la source
1

Si vous allez sur mon site VA lidar et cherchez un projet avec Breaklines. Nous avons beaucoup.

Par exemple 2010/2011 Eleven County Coastal VA Lidar. Vous verrez des liens vers tous les rapports et autres documents et cela explique comment ils ont créé les lignes de rupture généralement dans ArcGIS. Essayez quelques projets différents pour des méthodes différentes, mais je peux vous dire que le NHD est souvent utilisé, tout comme les crêtes dérivées d'un DEM. La plupart du temps, les rapports figurent dans les métadonnées. Voici celui ci-dessus. CTRL F Breaklines dans le pdf.


la source