Mit der 3D Analyst-Lizenz verfügbar.
Zusammenfassung
Dient zum Ändern des Bezugsmaßstabs, der mit einer Terrain-Pyramidenebene verknüpft ist.
Verwendung
Sie sollten eine Änderung des Bezugsmaßstabs einer Terrain-Pyramide in Betracht ziehen, wenn es zu einer unerwünschten Beeinträchtigung der Performance beim Zeichnen kommt oder eine höhere Verdichtung von Datenpunkten im Anzeigemaßstabsbereich der Pyramide erforderlich ist.
Wenn Sie die Auflösung einer vorhandenen Pyramidenebene ändern, muss ggf. eine Pyramidenebene hinzugefügt oder entfernt werden. Hierzu können Sie Terrain-Pyramidenebene hinzufügen oder Terrain-Pyramidenebene entfernen verwenden.
Bei Verwendung in einer SDE-Datenbank kann das Eingabe-Terrain nicht als versioniert registriert werden.
Syntax
arcpy.ddd.ChangeTerrainReferenceScale(in_terrain, old_refscale, new_refscale)
Parameter | Erklärung | Datentyp |
in_terrain | Das zu verarbeitende Terrain-Dataset. | Terrain Layer |
old_refscale | Der Bezugsmaßstab einer vorhandenen Pyramidenebene. | Long |
new_refscale | Der neue Bezugsmaßstab für die Pyramidenebene. | Long |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
derived_out_terrain | Das aktualisierte Terrain. | Terrain-Layer |
Codebeispiel
ChangeTerrainReferenceScale – 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.ChangeTerrainReferenceScale_3d('terrain.gdb/terrainFDS/terrain1',
1000, 2000)
ChangeTerrainReferenceScale – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
Name: Update Terrain
Description: This script demonstrates how to update a terrain dataset
with new elevation measurements obtained from Lidar by
importing LAS files to multipoint features, then appending the
new points to another multipoint feature that participates in a
terrain. The terrain's pyramids are modified to optimize its
draw speed.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Set Variables
inTerrain = "sample.gdb/featuredataset/terrain"
currentPts = "existing_points"
lasFiles = ['las/NE_Philly.las',
'las/NW_Philly.las']
newPts = 'in_memory/update_pts'
# Define spatial reference of LAS files using factory code
# for NAD_1983_StatePlane_Pennsylvania_South
lasSR = arcpy.SpatialReference()
lasSR.factoryCode = 2272
lasSR.create()
arcpy.AddMessage("Converting LAS files to multipoint features...")
arcpy.ddd.LASToMultipoint(lasFiles, newPts, 1.5, 2, 1,
'INTENSITY', lasSR)
arcpy.AddMessage("Appending LAS points to {0}..."\
.format(currentPts))
arcpy.AppendTerrainPoints_3d(inTerrain, currentPts, newPts)
arcpy.AddMessage("Changing terrain pyramid reference scales...")
arcpy.ddd.ChangeTerrainReferenceScale(inTerrain, 1000, 500)
arcpy.ddd.ChangeTerrainReferenceScale(inTerrain, 2500, 2000)
arcpy.AddMessage("Adding terrain pyramid level...")
arcpy.ddd.AddTerrainPyramidLevel(inTerrain, "", "4 4500")
arcpy.AddMessage("Changing pyramid resolution bounds for breaklines...")
arcpy.ChangeTerrainResolutionBounds_3d(inTerrain, "breaklines", 5, 4)
arcpy.AddMessage("Building terrain...")
arcpy.ddd.BuildTerrain(inTerrain)
arcpy.AddMessage("Completed updates.")
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
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst