1

Does anyone know of an easy way to manage a large number (10,000's) of catchments/watersheds? I have defined a stream network and for each segment, I have a corresponding catchment (in a unique shapefile). The name of the catchment is the x and y co-ordinate of the catchment outlet which is also assigned to the attribute table of relevant stream segment.

The end user will only want to view the stream network and maybe a few of the catchments (certainly not all!) at a time. I need a way to make it easy for the end user to view the catchments of interest (I guess they could search for them).

My only idea (which I am a little unsure of how to implement) is to build a tool (in ArcGIS) that loads the catchment when they click on a stream segment (with the tool selected)

If anyone has a better idea...

For my idea, I think I would have a button similar to the identify tool the end user would use this tool to select a stream segment, the tool would then look in the attribute table to find the file location of the catchment and add this as a shape file. Is such a thing possible to do?

I have coded up some python scripts before but have never attempted to integrate such functionality into ArcGIS. Any thoughts or direction would be appreciated.

We only have the basic version of ArcGIS, although if this sort of functionality is available in something like ArcHydro I'd be interested to know!

  • 1
    If you're writing a tool it would be easier to modify the definition expression of a layer rather than to extract and load. This would be achievable in ArcPy but would be better suited to .net (VB or C#). – Michael Stimson Apr 15 '14 at 2:31
  • That's great! Perhaps I should change the comment into an answer so that other users could find it... answers are searchable but comments are not. What do you think? – Michael Stimson May 6 '14 at 22:17
  • It certainly helped me! - I'll post the script once I have tidied it up – user1650538 May 6 '14 at 22:21
1

If you're writing a tool it would be easier to modify the definition expression of a layer rather than to extract and load. This would be achievable in ArcPy but would be better suited to .net (VB or C#)

In ArcObjects the definition query can be modified in ILayerDescription which can be accessed from IFeatureLayer.

in VB:

dim pLayerDesc as ILayerDescription = ctype(MYlayer,ILayerDescription)
pLayerDesc.DefinitionExpression = "SQL query that defines the layers as text"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.