Available with Spatial Analyst license.
Summary
Defines a list of point feature classes that represent the locations and magnitude of known topographic depressions and the fields identifying their elevation values.
Discussion
This object is used in the tool Topo To Raster.
The Topo To Raster tool will not attempt to remove from the analysis any points explicitly identified as sinks. The field used should be one that stores the elevation of the legitimate sinks. If NONE is selected, only the location of the sink is used.
Syntax
TopoSink (inFeatures)
Parameter | Explanation | Data Type |
inFeatures [[inFeature, {field}],...] | The input point feature datasets. Optionally, you can supply the name of a field that stores the elevation values to use for the input points. The field used should be one that stores the elevation of the legitimate sink. If NONE is selected, only the location of the sink is used. | List |
Properties
Property | Explanation | Data Type |
inFeatures (Read and Write) |
The input feature datasets and the fields to be used for the attributes. | List |
Code sample
TopoSink example 1 (Python window)
Demonstrates how to create a TopoSink class and use it in the TopoToRaster tool within the Python window.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
myTopoPtElev = TopoPointElevation([["spots.shp", "spot_meter"], ["spots2.shp", "elev"]])
myTopoContour = TopoContour([["contours.shp", "spot_meter"]])
myTopoBoundary = TopoBoundary(["boundary.shp"])
myTopoLake = TopoLake(["lakes.shp"])
myTopoSink = TopoSink([["sink1.shp", "elevation"], ["sink2.shp", "NONE"]])
myTopoStream = TopoStream(["streams.shp"])
myTopoCliff = TopoCliff(["cliff.shp"])
myTopoCoast = TopoCoast(["coast.shp"])
myTopoExclusion = TopoExclusion(["ignore.shp"])
outTopoToRaster1 = TopoToRaster([myTopoPtElev, myTopoContour, myTopoBoundary, myTopoLake, myTopoSink, myTopoStream, myTopoCliff, myTopoCoast, myTopoExclusion])
outTopoToRaster1.save("C:/sapyexamples/output/ttraster1")
TopoSink example 2 (stand-alone script)
Interpolates a surface with TopoToRaster using the TopoSink class as one of the input parameters.
# Name: TopoBoundary_Ex_02.py
# Description: Execute TopoToRaster using all the supported objects.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Create all the supported Objects
myTopoPtElev = TopoPointElevation([["spots.shp", "spot_meter"], ["spots2.shp", "elev"]])
myTopoContour = TopoContour([["contours.shp", "spot_meter"]])
myTopoBoundary = TopoBoundary(["boundary.shp"])
myTopoLake = TopoLake(["lakes.shp"])
myTopoSink = TopoSink([["sink1.shp", "elevation"], ["sink2.shp", "NONE"]])
myTopoStream = TopoStream(["streams.shp"])
myTopoCliff = TopoCliff(["cliff.shp"])
myTopoCoast = TopoCoast(["coast.shp"])
myTopoExclusion = TopoExclusion(["ignore.shp"])
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute TopoToRaster
outTopoToRaster = TopoToRaster([myTopoPtElev, myTopoContour, myTopoBoundary, myTopoLake, myTopoSink, myTopoStream, myTopoCliff, myTopoCoast, myTopoExclusion])
# Save the output
outTopoToRaster.save("C:/sapyexamples/output/ttraster2")