320 likes | 336 Views
Learn about the practical applications and experiences of using Model Builder in Noble County GIS, including case studies and tips for effective implementation.
E N D
Noble County GISPractical Uses ofModel Builder IGIC 2016 State GIS Conference| May 11, 2016
Topics for Discussion • My Background • Why I use ModelBuilder • My Uses of ModelBuilder • My Experiences Using ModelBuilder • Case Study: Vegetation Management for Surveyor’s Office • Wrap Up 2
My Background • Worked with Noble County Government Since 1996 • Introduced to GIS in 2003 • Started working with ModelBuilder in 2006 • Member of IGIC and NIGIC 3
Why Use ModelBuilder • Learn something new • Automate reoccurring tasks • Automate specific tasks requiring multiple steps • A good way of documenting processes 4
My Uses of ModelBuilder • Addressing Tools • Geoprocessing tools for copying existing address points • Updating attribute fields for existing address points – “GON” • Updating GIS data shared with others • Albion Utility Infrastructure • City of Kendallville – Addressing, Parcels and Roads • State of Indiana – Data Sharing Agreement • Parkview EMS Shared Layers • Updating base map layers for web applications • Noble County Lakes and Recreation web application 5
ArcModel for sharing SDE layers with Albion: Update_ArcSDE_Geodatabase_Layers 6
ArcModel for sharing parcels with Kendallville: CreateKvilleParcels_Ver2 ArcModel for sharing addresses with Kendallville: AddressesForDispatch 7
ArcModel for updating basemap layers in web application: UpdateBaseMapLayers 8
My Uses of ModelBuilder • Assessor’s Office • Sales Disclosure Parcels • Soils Parcels Update • Creates parcels layer copy and dissolves it by TaxID number • Cut existing landuse features by parcel boundary. • Auditor’s Office • Tax Sales Parcels • Watershed Acreage for Splits • City/Town Geodatabase Update – broken into 3 steps • Create new file gdb and populate feature datasets • Copy gdb to Dropbox • Copy gdb to workstation hard drive 9
ArcModel for updating file gdb for City/Town Map Viewer: Step1CreateNewGeoDBOnGisserver 10
My Uses of ModelBuilder • Clerk’s Office – Address points for all of Northeast Indiana • Building Dept. – Prepare parcels in flood zones • 911 Dispatch – GeoComm mapping updates • Health Dept. – Appending Septic System field work features to production file gdb • Parcels with Address Restrictions 11
My Uses of ModelBuilder • Highway Dept. • (GASB 34) Transfer 2012 State codes to Co. roads • (GASB 34) Calculate edge of pavement width by State ID • Divide area in sq. ft. by the road segment’s shape length • (GASB 34) Transfer R/W dimensions to road segments • Determine the From and To road names for each road segment • Transfer Speed Zones to road segments • Plan Commission • Create Address Book table • Removal of zoning from road R/W • Select parcels within proximity to parcel requesting a zoning change 12
My Uses of ModelBuilder • Emergency Management Project – West Lakes Evacuation • Reconcile and Post for applying versioned edits to default version • Surveyor’s Office • Vegetation Management tools • Watershed tools for managing hyperlinks to network folders in MS Access 13
My Experience Using ModelBuilder • Watch out for ArcMap upgrades • Sometimes better to save output data results to the hard drive • Delete unneeded attribute fields early on in arc model • Geoprocessing tools don’t always work the way they’re supposed to • Dealing with joins in arc models • Joins remain in memory until the arc model has been closed and reopened • Joins usually append a prefix of the source name 14
My Experience Using ModelBuilder • Watch out for locks on data when needing to be overwritten • Conversion of arc models to Python scripts not always a smooth process • Determine whether your arc model will be run independently from a map document or not • Make sure everyone has access to data on the network for shared arc models • Issues exist with running arc models while they are still being built • Establish Environment settings before running Python scripts 15
Establish Environment settings before running Python scripts 16
My Experience Using ModelBuilder • Make sure to add the ability to overwrite existing output when exporting to a Python script 17
My Experience Using ModelBuilder • Using a Python script to run an arc model • Export an arc model as a Python script in its entirety • Create a Python script that runs a geoprocessing tool (arc model) 18
My Experience Using ModelBuilder Scheduling a Python script or model to run at a prescribed time (July 30, 2013 ArcGIS Blog) https://blogs.esri.com/esri/arcgis/2013/07/30/scheduling-a-scrip/ 19
My Experience Using ModelBuilder • Use Python when performing calculations in arc models that you plan on exporting to Python • Finding a good time to run Python scripts as Windows Scheduled Tasks • People can create locks on data when they don’t shut down their maps at the end of the day • The unannounced network glitches • Troubleshooting arc models that run and then don’t run for some reason • Be careful how you construct your arc models so they don’t prevent themselves from running later after not running successfully • Document your arc models 20
Case Study: Vegetation Management for Surveyor’s Office • What was the problem? • Document on maps the location of vegetation projects on open regulated drains and tile • Provide process using Linear Referencing to display line work that wouldn’t require editing of the vegetation line feature – “KISS” principle • The process: • Create a file geodatabase to store information – VegetationMngment.gdb 22
Case Study: Vegetation Management for Surveyor’s Office • The process: • Create a series of arc models that perform work tasks • Step 1 – create routes for linear features (events) to be associated with open drains and tile features • Create Open Drain Route Tool • Create Tile Drain Route Tool • Step 2 – Add work event information • Add Work Event Tool – uses Record Set variable to add new work event record. Table uses the schema of a separate WorkEventsSchema table which provides domains for fields in the table. 23
Case Study: Vegetation Management for Surveyor’s Office • The process: • Create a series of arc models that perform work tasks • Link external documentation to the work event • Add a Work Event Attachment Tool • Stores only links to the document location • Provide tools to delete routes and work events • Delete a Route Tool – removes routes from both open drains and tiles • Delete a Work Event Tool – deletes work events and related attachments 26
Case Study: Vegetation Management for Surveyor’s Office • The process: • Create various ArcMap layers for symbolizing route and work event features • Tools allow interaction by the user for placing a star on the map • Symbology for routes • Symbology for work events categorized by year and work type 28
Case Study: Vegetation Management for Surveyor’s Office • The process: • Prepare drainage features to work with the Vegetation Management tools • Examine open drain and tile features for • Line breaks – use “Ignore spatial gaps” option to prevent gaps in the measures of routes • Direction of line features – this affects the start and end points for stationing measures along a route • Branches that are treated as one feature – each branch needs to be split apart and contain its own route • Drains having the same name – each drain and branch needs to have a unique name since the route ID uses the open drain or tile name • Presence of punctuation – such as “()”; this can cause the tool to error when ran 29
Case Study: Vegetation Management for Surveyor’s Office • The process: • Create documentation • Summary of the application • Lists components • Procedures • Maintenance Topics • Set up tools in ArcMap • Provide training 30
Conclusion • It takes desire and time to learn • Can be frustrating troubleshooting arc models when they don’t run as expected • Migrating to new ArcGIS versions is painful • Time saved makes it worth the effort 31
Noble County GIS Department Steven J. Hook, GISP Noble County GIS Manager 101 N Orange St Albion, IN 46701 Phone: 1-260-636-1293 32