Using ArcMap (Advanced), if I have a dataframe set to British National Grid and I add a feature class to the map document that is also set to BNG, and I try to draw outside the extent of BNG I will get an error about the data being outside the spatial reference extent. Great!

What I would like to do, is limit the user to a small area within the spatial reference extent. i.e limit their editing to say a 5km by 5km area. So that if the user tries to edit or add new data to the feature class, he will see an error telling them they are outside the feature class extent (even if within the spatial reference extent).

I have tried changing the dataframe options so that the dataframe is clipped to the extent I want the user to stay within, however, this won't limit the user from adding data outside the extent, it will just make the data "invisible" until the clipping option is turned off.

I have also tried setting the Feature Extent in the Feature Class Properties, but as soon as you then draw outside this extent it just increases the Feature Extent. Is there no way to lock this?

I know that a possible way to do this would be to create a custom coordinate system for just the area I want to limit the user to, however, this is not an option as they are all working from a master map document which they copy and then add their specific feature class (the one I want to limit).

  • I wonder if the answer to gis.stackexchange.com/questions/44121/… may offer you an ArcObjects way to change the extent of the data to be temporarily less than the extent of all of the features in a feature class. – PolyGeo Jun 4 '15 at 11:41
  • I'm afraid the tool referred to in that answer updates the feature class extent (much in the same way that I have done through the feature class properties). This won't stop you from adding new features to the feature class outside this extent, assuming you're still within the coordinate system extent. – Dan_h_b Jun 4 '15 at 12:01
  • I'm tempted to replace the fc and dataframe tags with security and extents... But more to the actual question, I'm not aware of any way to do this. Why not just provide a box and say 'don't draw outside the lines'? I'm not being flippant here - I've worked in an environment such as you describe and that's basically how it's done. Before turning in completed work one had to run a validation check (series), and one thing it checks for is features outside or crossing the box. You can do the check post, but not enforce it during (unless you custom script an auto-validation after each edit action). – Chris W Jun 4 '15 at 20:15
  • That's what's being done at the moment, there's a box and the users are relied upon to not draw outside the box. Maybe a simple validation button as an addin will have to do, it won't take long to put together. It would be nice to be able to do this, but in all my years of using ESRI software I have never seen this functionality. – Dan_h_b Jun 4 '15 at 22:10
  • I'd use environment extent + very basic model script that uses field calculator to assign value of 1 to dummy short integer field. It will give a warning – FelixIP Jun 5 '15 at 22:17

Your Answer

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

Browse other questions tagged or ask your own question.