ArcGIS Desktop

  • Dokumentation
  • Support

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS for Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Erweiterungen

Terrain erstellen

  • Zusammenfassung
  • Verwendung
  • Syntax
  • Codebeispiel
  • Umgebungen
  • Lizenzinformationen

Zusammenfassung

Hiermit wird ein neues Terrain-Dataset erstellt.

Verwendung

  • Der Wert des Parameters Durchschnittl. Punktabstand sollte eine ordnungsgemäße Annäherung der im Terrain verwendeten Daten widerspiegeln, da er zum Definieren der Größe der internen Kacheln des Terrains herangezogen wird, mit denen die Datenanalyse und die Anzeige-Performance optimiert werden. Jede Kachel enthält ungefähr maximal 200.000 Quellen-Höhenpunkte. Wenn die Daten gesammelt wurden, die von einer Position zur anderen erhebliche Unterschiede in den Punktdichten aufweisen, sollte der angegebene Wert den kleineren Abstand favorisieren.

  • Zum Vervollständigen des Terrains verwenden Sie Terrain-Pyramidenebene hinzufügen, um die Pyramidendefinition festzulegen, verwenden Sie anschließend Feature-Class zu Terrain hinzufügen, um auf die Datenquellen zu verweisen, die zur Oberfläche beitragen, und wählen Sie schließlich Terrain berechnen aus, um die Erstellung des Terrains abzuschließen.

  • Geoverarbeitungswerkzeuge für die Terrain-Erstellung sind auf die Verfahren der Datenautomatisierung in Python-Skripten und ModelBuilder ausgerichtet. Um ein neues Terrain interaktiv zu erstellen, sollten Sie die Verwendung des Assistenten "Terrain" in ArcCatalog oder im Fenster Katalog in Betracht ziehen. Klicken Sie zum Zugreifen auf den Assistenten "Terrain" mit der rechten Maustaste auf ein Feature-Dataset, und klicken Sie dann auf Neu > Terrain.

Syntax

CreateTerrain_3d (in_feature_dataset, out_terrain_name, average_point_spacing, {max_overview_size}, {config_keyword}, {pyramid_type}, {windowsize_method}, {secondary_thinning_method}, {secondary_thinning_threshold})
ParameterErläuterungDatentyp
in_feature_dataset

Das Feature-Dataset, in dem das Terrain-Dataset enthalten ist.

Feature Dataset
out_terrain_name

Der Name des Terrain-Datasets.

String
average_point_spacing

Der mittlere horizontale Abstand zwischen Datenpunkten, die zum Modellieren des Terrains verwendet werden. Sensor-basierte Messungen wie photogrammetrische, LIDAR- und SONAR-Messungen weisen normalerweise einen bekannten Abstand auf, der verwendet werden sollte. Der Abstand sollte in den horizontalen Einheiten ausgedrückt werden, die für das Koordinatensystem des Feature-Datasets gelten.

Double
max_overview_size
(optional)

Die Terrainübersicht ist dem Konzept der Bildminiaturansichten ähnlich. Sie ist die gröbste Darstellung des Terrain-Datasets und die maximale Größe stellt die obere Grenze der Anzahl von Messpunkten dar, die zum Erstellen der Übersicht entnommen werden können.

Long
config_keyword
(optional)

Das Konfigurationsschlüsselwort zum Optimieren des Terrain-Speichers in einer Enterprise-Datenbank.

String
pyramid_type
(optional)

Die Methode der Punktausdünnung, die zum Erstellen der Terrain-Pyramiden verwendet wird.

  • WINDOWSIZE —Die Ausdünnung wird ausgeführt, indem Datenpunkte in der Fläche ausgewählt werden, die durch eine bestimmte Kachelung für jede Pyramidenebene mit dem im Parameter windowsize_method angegebenen Kriterium definiert wird.
  • ZTOLERANCE —Die Ausdünnung wird ausgeführt, indem die vertikale Genauigkeit der einzelnen Pyramidenebenen relativ zur vollen Auflösung der Datenpunkte angegeben wird.
String
windowsize_method
(optional)

Das Kriterium für die Auswahl von Punkten in dem Bereich, der durch die Kachelung definiert wird. Dieser Parameter ist nur anwendbar, wenn WINDOWSIZEpyramid_type im Parameter angegeben wird.

  • ZMIN —Der Punkt mit dem kleinsten Höhenwert.
  • ZMAX —Der Punkt mit dem größten Höhenwert.
  • ZMEAN —Der Punkt, dessen Höhenwert dem Durchschnitt aller Werte am nächsten ist.
  • ZMINMAX —Die Punkte mit den kleinsten und größten Höhenwerten.
String
secondary_thinning_method
(optional)

Gibt zusätzliche Ausdünnungsoptionen an, um die Anzahl der Punkte zu reduzieren, die über ebene Flächen verwendet werden, wenn Kachelungspyramiden verwendet werden. Eine Fläche wird als Ebene betrachtet, wenn sich die Höhe von Punkten in einem Bereich befindet, der sich innerhalb des für den Parameter Schwellenwert für sekundäre Ausdünnung festgelegten Wertes befindet. Der daraus resultierende Effekt ist auf Pyramidenebenen mit höherer Auflösung deutlicher erkennbar, da kleinere Flächen mit höherer Wahrscheinlichkeit eben sind als größere Flächen.

  • NONE —Es wird keine sekundäre Ausdünnung ausgeführt. Dies ist die Standardeinstellung.
  • MILD —Diese Option eignet sich am besten, um lineare Unterbrechungen beizubehalten (z. B. Gebäudeseiten und Waldränder). Diese wird für LIDAR-Daten empfohlen, die sowohl Boden- als auch andere Punkte umfassen. Damit werden die wenigsten Punkte ausgedünnt.
  • MODERATE —Mit dieser Option wird ein guter Kompromiss zwischen Performance und Genauigkeit erzielt. Dabei werden nicht so viele Details wie bei der schwachen Ausdünnung beibehalten. Das Ergebnis daraus ist jedoch beinahe vergleichbar, wobei insgesamt mehr Punkte eliminiert werden.
  • STRONG —Hiermit werden die meisten Punkte entfernt, wobei jedoch scharf voneinander abgegrenzte Features eher nicht beibehalten werden. Diese Option sollte auf Oberflächen beschränkt werden, deren Gefälle sich nur allmählich ändert. Die starke Ausdünnung wäre beispielsweise für LIDAR-Daten der nackten Erdoberfläche oder bathymetrische Daten geeignet.
String
secondary_thinning_threshold
(optional)

Der vertikale Schwellenwert zur Aktivierung der sekundären Ausdünnung für den Filter WINDOWSIZE. Der Wert sollte gleich dem Wert oder größer als der Wert für die vertikale Genauigkeit der Daten sein.

Double

Codebeispiel

CreateTerrain – Beispiel 1 (Python-Fenster)

Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.CreateTerrain_3d('source.gdb/Redlands', 'Redlands_terrain',  5,
                      50000, '', 'WINDOWSIZE', 'ZMIN', 'NONE', 1)
CreateTerrain – Beispiel 2 (eigenständiges Skript)

Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.

"""****************************************************************************
Name: Create Terrain from TIN
Description: This script demonstrates how to create a terrain dataset using
             features extracted from a TIN. It is particularly useful in 
             situations where the source data used in the TIN is not available,
             and the amount of data stored in the TIN proves to be too large 
             for the TIN. The terrain's scalability will allow improved
             display performance and faster analysis. The script is designed 
             to work as a script tool with 5 input arguments.
****************************************************************************"""
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

# Set local variables
tin = arcpy.GetParameterAsText(0) # TIN used to create terrain
gdbLocation = arcpy.GetParameterAsText(1) # Folder that will store terran GDB
gdbName = arcpy.GetParameterAsText(2) # Name of terrain GDB
fdName = arcpy.GetParameterAsText(3) # Name of feature dataset
terrainName = arcpy.GetParameterAsText(4) # Name of terrain

try:
    arcpy.CheckOutExtension("3D")
    # Create the file gdb that will store the feature dataset
    arcpy.management.CreateFileGDB(gdbLocation, gdbName)
    gdb = '{0}/{1}'.format(gdbLocation, gdbName)
    # Obtain spatial reference from TIN
    SR = arcpy.Describe(tin).spatialReference
    # Create the feature dataset that will store the terrain
    arcpy.management.CreateFeatureDataset(gdb, fdName, SR)
    fd = '{0}/{1}'.format(gdb, fdName)
    # Export TIN elements to feature classes for terrain
    arcpy.AddMessage("Exporting TIN footprint to define terrain boundary...")
    boundary = "{0}/boundary".format(fd)
    # Execute TinDomain
    arcpy.ddd.TinDomain(tin, tinDomain, 'POLYGON')
    arcpy.AddMessage("Exporting TIN breaklines...")
    breaklines = "{0}/breaklines".format(fd)
    # Execute TinLine
    arcpy.ddd.TinLine(tin, breaklines, "Code")
    arcpy.AddMessage("Exporting TIN nodes...")
    masspoints = "{0}/masspoints".format(fd)
    # Execute TinNode
    arcpy.ddd.TinNode(sourceTIN, TIN_nodes)
    arcpy.AddMessage("Creating terrain dataset...")
    terrain = "terrain_from_tin"
    # Execute CreateTerrain
    arcpy.ddd.CreateTerrain(fd, terrainName, 10, 50000, "", 
                            "WINDOWSIZE", "ZMEAN", "NONE", 1)
    arcpy.AddMessage("Adding terrain pyramid levels...")
    terrain = "{0}/{1}".format(fd, terrainName)
    pyramids = ["20 5000", "25 10000", "35 25000", "50 50000"]
    # Execute AddTerrainPyramidLevel
    arcpy.ddd.AddTerrainPyramidLevel(terrain, "", pyramids)
    arcpy.AddMessage("Adding features to terrain...")
    inFeatures = "{0} Shape softclip 1 0 10 true false boundary_embed <None> "\
             "false; {1} Shape masspoints 1 0 50 true false points_embed "\
             "<None> false; {2} Shape softline 1 0 25 false false lines_embed "\
             "<None> false".format(boundary, masspoints, breaklines)
    # Execute AddFeatureClassToTerrain
    arcpy.ddd.AddFeatureClassToTerrain(terrain, inFeatures) 
    arcpy.AddMessage("Building terrain...")
    # Execute BuildTerrain
    arcpy.ddd.BuildTerrain(terrain, "NO_UPDATE_EXTENT")
    arcpy.GetMessages()

except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = "PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}"\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = "ArcPy ERRORS:\n {0}\n".format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)
finally:
    arcpy.CheckInExtension("3D")

Umgebungen

  • Aktueller Workspace
  • Auto Commit
  • Ausgabe-CONFIG-Schlüsselwort

Lizenzinformationen

  • ArcGIS Desktop Basic: Erfordert 3D Analyst
  • ArcGIS Desktop Standard: Erfordert 3D Analyst
  • ArcGIS Desktop Advanced: Erfordert 3D Analyst

Verwandte Themen

  • Überblick über das Toolset "Datenmanagement"
  • Grundlagen von Oberflächen
  • Oberflächenformate
  • Was ist ein Terrain-Dataset?
  • Vorteile der Verwendung von Terrains
  • Berechnen eines Terrain-Datasets mit Geoverarbeitungswerkzeugen
  • Durchschnittlicher Punktabstand
  • Terrainpyramiden

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS Plattform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Insider-Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
© Copyright 2016 Environmental Systems Research Institute, Inc. | Datenschutz | Rechtliches