Skip to main content

TopoSink

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)

Name Explanation Data type

inFeatures

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

Name 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: Run 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"])
# Run TopoToRaster
outTopoToRaster = TopoToRaster([myTopoPtElev, myTopoContour, myTopoBoundary, myTopoLake, myTopoSink, myTopoStream])
# Save the output
outTopoToRaster.save("C:/sapyexamples/output/ttraster2")