Utah Mapping Portal2018-03-18T23:08:47-06:00https://gis.utah.gov/Utah Mapping Portalagrc@utah.govSuccess with Serverless2018-02-26T16:45:28-07:00https://gis.utah.gov/success-with-serverless<p>In this post, I’d like to share the success story of our recent testing of <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless computing</a>. We’ve been having some issues with a print-proxy service, and the situation gave us the perfect opportunity to experiment with serverless computing. This new(ish) technology has some exciting advantages over traditional solutions, and we’ve been looking for an excuse to try it out. We weren’t disappointed.</p>
<h3 id="the-problem">The Problem</h3>
<p><a href="/data/base-map-and-imagery/">AGRC’s base maps</a> (including the <a href="/discover/license/">Google imagery</a>) are served via a custom server application called Giza. Part of the advantage of using Giza is that it allows you to secure and track usage via quad-words. These unique words are assigned to a specific user and are locked down to a specific domain or IP address. For example, if my quad-word is locked down to <code>mydomain.com</code>, then requests originating from any other domain or IP address are blocked by the server. This prevents unauthorized access of licensed content, as well as allows AGRC to track analytics.</p>
<p>This quad-word system works great . . . until you try to use one of Esri’s out-of-the-box print services (<a href="http://mapserv.utah.gov/arcgis/rest/services/Utilities/PrintingTools/GPServer">here’s an example of one</a>). When you send a web map to one of these print services, the service reconstructs all of the layers on the server. This causes requests for base maps to be sent from your ArcGIS Server box rather than your user’s browser (with your domain as the referrer). Now, we do allow wide-open quad-words (i.e., quad-words not locked down to any domain/IP) to be used by those who need to make requests from servers or other local machines. However, the wide-open quad-words can’t be used in web applications because they could be copied and used by unauthorized users. This is a problem.</p>
<h3 id="swing-and-a-miss">Swing and a Miss</h3>
<p>Our original solution to this problem was a <a href="https://github.com/agrc/print-proxy">custom geoprocessing service that was deployed via ArcGIS Server</a>. Basically, this service acted as a proxy to a traditional print service, switching out the secured quad-word with a wide-open one, allowing the traditional print service to successfully make requests.</p>
<p>While we did make this solution work, it was not ideal. Geoprocessing services, in general, are a pain to work with, but debugging can be particularly challenging. Because of the potential strain on our server from the custom geoprocessing service, we asked our users to publish this service on their own servers. But this presented its own issues, as it added additional technical debt for them to deploy and maintain (assuming that they had an ArcGIS Server instance at all).</p>
<p>In the end, we decided that there was no need to incur all of the heavy overhead of ArcGIS Server for a simple proxy service.</p>
<h3 id="serverless-to-the-rescue">Serverless to the Rescue</h3>
<p>This is where serverless computing came in.</p>
<p>Serverless computing centers around a simple concept: abstracting away all of the pain that comes from managing systems and allowing developers to focus on building software. With serverless computing, you simply write the code and let the experts (<a href="https://cloud.google.com/functions/">Google</a>, <a href="https://aws.amazon.com/lambda/">Amazon</a>, <a href="https://azure.microsoft.com/en-us/services/functions/">Microsoft</a>, and others) take care of all of the headaches associated with deploying and hosting. And even better, you only pay when your service is actually invoked. Consequently, the cost ends up being pennies on the dollar compared to standing up a traditional server. In fact, AGRC, to date, has not crossed the threshold of the free tier.</p>
<p>Many of the major vendors provide command-line utilities to help you get up and running quickly. We decided to give the provider-agnostic project, <a href="https://serverless.com">Serverless</a>, a try. <a href="https://serverless.com/framework/docs/providers/google/guide/quick-start/">Getting started</a> was fairly simple:</p>
<ol>
<li>Choose a programming language. (And make sure it’s supported by your provider. We chose Node.js on Google Cloud Functions.)</li>
<li>Create a template-based project.</li>
<li>Set up credentials.</li>
<li>Deploy!</li>
</ol>
<p>Once I wrapped my head around this new paradigm and got everything wired up, I was left with nothing to focus on but the <a href="https://github.com/agrc/serverless-print-proxy/blob/master/index.js">business logic of my service</a>. Nirvana!</p>
<p>Another huge win with this solution was <a href="https://travis-ci.org/agrc/serverless-print-proxy">automated testing and deployment via TravisCI</a>. Each time I push a commit to <code>master</code>, Travis runs all of my tests and deploys <strong>if</strong> they are all passing. This would be impossible with our previous ArcGIS Server-based solution.</p>
<p>In the end, we have a stable, scalable, and highly available service hosted on world-class architecture that is kept up-to-date. (And, most importantly: it’s maintained by someone other than me. :) ) I can’t wait to find another excuse to use this technology.</p>
Utah SGID Statewide Roads Data Layer Updates 02/15/20182018-02-15T00:00:00-07:00https://gis.utah.gov/utah-sgid-statewide-roads-data-layer-updates-02152018<p>Updates were recently made to the SGID10.Transportation.Roads and <a href="/major-updates-coming-to-roads-data-model/">SGID10.Transportation.RoadsODM</a> feature classes that resides on the <a href="/sgid-database/">Utah SGID ArcSDE database server</a>.</p>
<p>Updated roads data is also available as shapefiles and file geodatabase files for download on the <a href="/data/transportation/roads-system/">SGID Roads and Highway System download page</a>.</p>
<p>These updates are also reflected in <a href="/data/address-geocoders-locators/">AGRC’s address locators</a> and the <a href="/data/911/">Utah Next-Generation 911 GIS Database</a>.</p>
<p>The following are highlights from this month’s update:</p>
<h4 id="county-updates">County Updates:</h4>
<ul>
<li>
<p><strong>Davis County:</strong> Obtained roads data on 02/01/2018: added new roads, updated road names and address ranges, etc. Previous update was on 01/19/2018.</p>
</li>
<li>
<p><strong>Grand County:</strong> Data requested on 01/03/2018 and 01/11/2018, but not received.</p>
</li>
<li>
<p><strong>Iron County:</strong> Obtained roads data on 01/17/2018: added new roads, updated road names and address ranges, etc. Previous update was on 11/30/2017.</p>
</li>
<li>
<p><strong>Salt Lake County:</strong> Obtained roads data on 01/26/2018: added new roads, updated road names and address ranges, etc. Previous update was on 01/19/2018.</p>
</li>
<li>
<p><strong>Summit County:</strong> Obtained roads data on 01/17/2018: added new roads, updated road names and address ranges, etc. Previous update was on 01/04/2018.</p>
</li>
<li>
<p><strong>Utah County:</strong> Obtained roads data on 01/26/2018: added new roads, road names and address ranges, etc. Previous update was on 01/19/2018.</p>
</li>
<li>
<p><strong>Washington County:</strong> Obtained roads data on 01/26/2018: added new roads, road names and address ranges, etc. Previous update was on 01/19/2018.</p>
</li>
<li>
<p><strong>Weber County:</strong> Obtained roads data on 01/30/2018: added new roads, road names and address ranges, etc. Previous update was on 01/19/2018.</p>
</li>
</ul>
<h4 id="udot-route-system">UDOT Route System:</h4>
<ul>
<li>The <code class="highlighter-rouge">DOT_F_MP</code> (From Milepost) and <code class="highlighter-rouge">DOT_T_MP</code> (To Milepost) fields that store the milepost attributes of the UDOT state and federal routes in SGID10.Transportation.Roads were updated</li>
<li>The <code class="highlighter-rouge">DOT_RTID</code> field that stores UDOT’s unique numeric route identifiers was updated</li>
</ul>
SGID Data Lifecycle2018-02-05T12:19:18-07:00https://gis.utah.gov/sgid-data-lifecycle<p>Over the past several months, AGRC has been updating the State Geographic Information Database (SGID) data lifecycle process. The data lifecycle process starts with data creation and extends to finalizing data for internal and external use. AGRC’s goal is to streamline this process and make data clearer and more accessible for all involved parties, from AGRC to local, state, and federal partners.</p>
<p>The SGID is a comprehensive collection of data, however, not all of that data is used or useful. There are currently hundreds of data layers that need to be studied and more effectively categorized into tiers of data. But in order to categorize this data, AGRC needs to understand: how frequently people use that data (i.e., use metrics), how important that data is to users, and which data layers should be considered to be framework data.</p>
<p>To learn more about each data layer, AGRC tracks the layer’s current usage and who the steward is, whether AGRC or an external steward. (ESRI’s ArcGIS Online product has many metrics available to do this.) AGRC can also track the number of clicks on data download links on <a href="/">gis.utah.gov</a>. After tracking data about each layer, AGRC works with external stewards to classify the data to a tier, which has unique associated expectations for quality, update schedule, and availability as a web service.</p>
<p>Once the data layer is assigned to a tier, it is assigned an update schedule and a method of delivery, such as accessible for download from <a href="/">gis.utah.gov</a> or available as a web service. At that point, the data is ready for external use, and users can access the data from the <a href="/data/sgid-index/">SGID index</a>, which provides access to the data page and a link to web services.</p>
<p>Analyzing and organizing all the data layers is an extensive task and will be an ongoing effort for AGRC. But once AGRC completes that task, maintenance will be the focus. AGRC plans to build or procure a system that can collect and give feedback to the steward of each data layer, so changes and updates can be made based on that feedback.</p>
Maps on the Hill 20182018-02-05T09:46:08-07:00https://gis.utah.gov/maps-on-the-hill-2018<p>The seventh annual Maps on the Hill event was held on January 30, 2018, in the Utah State Capitol building rotunda. This annual event provides a valuable opportunity to raise awareness of the GIS field and to engage legislators in discussion of GIS-related issues. There was a great turnout this year, with just under fifty displays of maps and apps. These displays were created by various contributors, including Utah cities, universities, state and county departments, offices, and more, and covered a range of topics, such as showing vulnerability during an earthquake in Salt Lake City, mapping Utah film history, and mapping Uber rides in the Salt Lake Valley. Each display told a story of different GIS data, and the displays were judged and awarded based on their ability to convey the value of GIS-based solutions.</p>
<p><img src="/images/MOTH2018.png" alt="2018 Maps on the Hill" class="outline flex flex--center" /></p>
<p>A three-judge panel, consisting of Mike Canning (Deputy Director, Utah Department of Wildlife Resources), Amber Knapp (State Government Account Manager, ESRI, formerly of Cook County, Illinois), and Zach Posner (Chief Information Officer, Salt Lake County) rated the displays on overall effectiveness, visual appeal, data integration, and innovation.</p>
<p><img src="/images/MOTH2018-2.png" alt="2018 Maps on the Hill" class="outline flex flex--center" /></p>
<h1 id="the-2018-winners">The 2018 winners</h1>
<div class="pop text-center">
<h3 class="text-center" id="best-of-show">Best of Show</h3>
<hr class="hr-separate" />
<p><strong>Salt Lake City Public Utilities</strong></p>
</div>
<div class="pop text-center">
<h3 class="text-center" id="awards-of-excellence">Awards of Excellence</h3>
<hr class="hr-separate" />
<p><strong>Utah Department of Natural Resources, Division of Forestry, Fire and State Lands and Division of Oil, Gas and Mining</strong></p>
<p><strong>Utah Department of Natural Resources, Division of Wildlife Resources</strong></p>
<p><strong>Utah Department of Environmental Quality, Division of Water Quality</strong></p>
<p><strong>Utah Community Development Office</strong></p>
</div>
<p>Most entries can be viewed in the <a href="https://drive.google.com/file/d/1i4_Lm8E0Rb2GpETe1K43DgkKD6maFufy/view?usp=sharing">Maps on the Hill PDF booklet</a>. Be sure to give the <a href="https://drive.google.com/drive/folders/1Vn9oYHVd1-mvQTA0TYB4yoNcSc0r50md?usp=sharing">photo album</a> a view. And, you can look back on all the <a href="/about/maps-on-the-hill">Maps on the Hill events</a> on our website.</p>
<p>Thank you to our judges, participants, and volunteers for making this a quality, informative event.</p>
PLSS Fabric Version 2.0 Release2018-02-01T16:31:11-07:00https://gis.utah.gov/plss-fabric-version-2-0-release<p>Finally, an update for the Utah Public Land Survey System (PLSS) Fabric! The Automated Geographic Reference Center (AGRC) has published a PLSS Fabric Version 2.0 (V2.0) for the start of 2018. As the <a href="https://nationalmap.gov/small_scale/a_plss.html">US Geological Survey describes</a>, “The Public Land Survey System (PLSS) is a way of subdividing and describing land in the United States.” The PLSS Fabric is a new method for parcel management that allows all of the various PLSS data layers to be updated simultaneously, which has helped expedite the updating of the data.</p>
<p>Utah’s updated version of the PLSS Fabric includes:</p>
<ul>
<li>GPS surveyed locations that are used as control to generate adjustments to corner locations</li>
<li>Updates and adjustments from our partners at the Bureau of Land Management (BLM)</li>
<li>And improved Land Ownership data from the School and Institutional Trust Lands Administration (SITLA).</li>
</ul>
<p>The hardworking folks at SITLA, under the direction of GIS Manager Kate Staley, have been making good progress in updating SITLA-related land ownership data in the PLSS. So far, SITLA has successfully incorporated data for fourteen county areas and is in the process of incorporating data for a fifteenth county area. (These county areas usually show the townships that cover a certain county, rather than the exact county lines, so, generally, a county area may be a little larger than the actual county and may overlap with the boundaries of a neighboring county.) At SITLA’s current rate for updating this data, SITLA is on track to finish its updates this year.</p>
<p>Like SITLA, the BLM has also been updating BLM-related data in the PLSS Fabric. Specifically, the Bureau has been working on updating Utah tribal area data based on completed resurveys. So far, the BLM has completed work on the Duchesne, Uintah, Grand Salt Lake, and Sevier county areas.</p>
<p>For our part at AGRC, incorporating our data has been a little slower, as updating the PLSS Fabric is a learning process, and we’re still developing best practices for moving forward. So far, we’ve updated the data for three county areas: Morgan, Sevier, and Salt Lake. We are updating our areas based on supplied tie sheets and the included surveyed locations of corners. Most of our supplied tie sheets show data for private lands. In the past year we have collected over 350 tie sheets through our PLSS Corner Management App, to go with approximately 19,000 other tie sheets we have received over the years. One issue we have found in the older tie sheets is that they have great descriptions of each monument and its surrounding area but no precise X, Y location for the point. These older tie sheets will be kept as a Monument Record, but they can’t be used as a control for adjusting the fabric to an improved location.</p>
<h2 id="available-for-download">Available for download</h2>
<p>The Utah PLSS Fabric production version is available for download in several forms from the <a href="/data/cadastre/plss/#ParcelFabric">PLSS / Geographic Coordinate Database (GCDB) Cadastre Data Page PLSS / GCDB Cadastre Data Page</a>. The file sizes are quite large, so please consider this when downloading.</p>
<ul>
<li>Utah PLSS Fabric V2.0 (833 GB zip file): the entire statewide fabric with an ArcMap 10.4 mxd and set layer files to correctly draw the PLSS data</li>
<li>Published CadNSDI V2.0 (509 MB zip file): PLSS Fabric data in the individual feature classes (i.e., townships, first division, second division, intersected, special survey, meandered water, metadata at a glance, and point) published in the CadNSDI schema</li>
<li>Published Utah PLSS V2.0 (184 MB zip file): PLSS Fabric data in the individual feature classes (i.e., township, section, quarter section, quarter-quarter section, meandered water, special surveys, and point) published in the AGRC schema</li>
</ul>
<p>As the PLSS Fabric grows, updates will be made every couple of months. Changes and updates will be noted in upcoming newsletters, so sign up below, or keep checking back.</p>
Utah SGID Statewide Roads Data Layer Updates 01/19/20182018-01-19T00:00:00-07:00https://gis.utah.gov/utah-sgid-statewide-roads-data-layer-updates-01182018<p>Updates were recently made to the SGID10.Transportation.Roads and <a href="/major-updates-coming-to-roads-data-model/">SGID10.Transportation.RoadsODM</a> feature classes that resides on the <a href="/sgid-database/">Utah SGID ArcSDE database server</a>.</p>
<p>Updated roads data is also available as shapefiles and file geodatabase files for download on the <a href="/data/transportation/roads-system/">SGID Roads and Highway System download page</a>.</p>
<p>These updates are also reflected in <a href="/data/address-geocoders-locators/">AGRC’s address locators</a> and the <a href="/data/911/">Utah Next-Generation 911 GIS Database</a>.</p>
<p>The following are highlights from this month’s update:</p>
<h4 id="county-updates">County Updates:</h4>
<ul>
<li>
<p><strong>Box Elder County:</strong> Obtained roads data on 12/29/2017: added new roads, updated road names and address ranges, etc. Previous update was on 10/27/2017.</p>
</li>
<li>
<p><strong>Davis County:</strong> Obtained roads data on 01/03/2018: added new roads, updated road names and address ranges, etc. Previous update was on 1/04/2018.</p>
</li>
<li>
<p><strong>Garfield County:</strong> Obtained roads data on 12/31/2017: added new roads, updated road names and address ranges, etc. Previous update was on 01/10/2017.</p>
</li>
<li>
<p><strong>Salt Lake County:</strong> Obtained roads data on 12/29/2017: added new roads, updated road names and address ranges, etc. Previous update was on 1/04/2018.</p>
</li>
<li>
<p><strong>Sanpete County:</strong> Data requested on 12/07/2017 and 01/03/2018, but not received.</p>
</li>
<li>
<p><strong>Utah County:</strong> Obtained roads data on 12/29/2017: added new roads, updated road names and address ranges, etc. Previous update was on 11/30/2017.</p>
</li>
<li>
<p><strong>Wasatch County:</strong> Obtained roads data on 12/31/2017: added new roads, updated road names and address ranges, etc. Previous update was on 07/18/2017.</p>
</li>
<li>
<p><strong>Washington County:</strong> Obtained roads data on 12/29/2017: added new roads, road names and address ranges, etc. Previous update was on 1/04/2018.</p>
</li>
<li>
<p><strong>Weber County:</strong> Obtained roads data on 12/31/2017: added new roads, road names and address ranges, etc. Previous update was on 1/04/2018.</p>
</li>
</ul>
<h4 id="udot-route-system">UDOT Route System:</h4>
<ul>
<li>The <code class="highlighter-rouge">DOT_F_MP</code> (From Milepost) and <code class="highlighter-rouge">DOT_T_MP</code> (To Milepost) fields that store the milepost attributes of the UDOT state and federal routes in SGID10.Transportation.Roads were updated</li>
<li>The <code class="highlighter-rouge">DOT_RTID</code> field that stores UDOT’s unique numeric route identifiers was updated</li>
</ul>
Municipal Boundaries update for Fourth Quarter 2017 (calendar year)2018-01-10T12:10:02-07:00https://gis.utah.gov/municipal-boundaries-update-for-fourth-quarter-2017-calendar-year<p>It is the end of the year and here is the final tally for Annexations in 2017. The total number of Annexations and Disconnections processed this year is on par with last year at 89.</p>
<p>We have another new city down in Iron County, Cedar Highlands, on the east side of Cedar City in the foothills.</p>
<p>The county with the most changes is Utah County again. The City with the most is a tie, both American Fork and Layton had 7.</p>
<p>Thanks to all the City and County personal who are responsible for this work.</p>
<p>Another reminder the 2020 Census will be coming up soon so it’s a good time to review your data and get any missing areas included. We will be submitting data to Census BAS program again early in the new year. They like to see documentation of some kind for all areas included.</p>
<p>Current data can be downloaded from the <a href="/data/boundaries/citycountystate/">State, County, and Municipal Boundaries</a> data page or you can contact us for more information. Comments, questions, compliments, or concerns can be directed to Mike Heagin from AGRC at <a href="mailto:MHeagin@utah.gov?subject=Municipal+Boundaries+update+for+Fourth+Quarter+2017+%28calendar+year%29">MHeagin@utah.gov</a> or <a href="tel:801-537-9296">801-537-9296</a>.</p>
<p>Below are the changes and annexations since <strong>September 5th, 2017</strong>, listed by County and City:</p>
<table>
<thead>
<tr>
<th>County</th>
<th>City</th>
<th>Number of Changes</th>
</tr>
</thead>
<tbody>
<tr>
<td>Box Elder</td>
<td>Fielding</td>
<td>1</td>
</tr>
<tr>
<td>Cache</td>
<td>Hyrum</td>
<td>1</td>
</tr>
<tr>
<td> </td>
<td>Hyde Park</td>
<td>1</td>
</tr>
<tr>
<td>Iron</td>
<td>Cedar Highland Incorporation</td>
<td>1</td>
</tr>
<tr>
<td> </td>
<td>Enoch City</td>
<td>1</td>
</tr>
<tr>
<td>Rich</td>
<td>Woodruff</td>
<td>1</td>
</tr>
<tr>
<td>Salt Lake</td>
<td>Sandy</td>
<td>1</td>
</tr>
<tr>
<td>Sanpete</td>
<td>Ephraim</td>
<td>2</td>
</tr>
<tr>
<td>Utah</td>
<td>American Fork</td>
<td>5</td>
</tr>
<tr>
<td> </td>
<td>Lehi</td>
<td>4</td>
</tr>
<tr>
<td> </td>
<td>Saratoga Springs</td>
<td>3</td>
</tr>
<tr>
<td>Wasatch</td>
<td>Heber City</td>
<td>1</td>
</tr>
</tbody>
</table>
Transitioning to a New World, ArcPro2018-01-09T04:12:13-07:00https://gis.utah.gov/transitioning-to-a-new-world-arc-pro<p>I have spent the last 4 months learning and using ArcPro while also learning a new job (see the end of this post). Like many of my fellow GIS users, I was hesitant to make the leap into the unknown after 10 years using ArcMap. I had heard rumors of ArcPro being “buggy”, everything being hard to find, and data management being a mystery. While I can neither confirm nor deny the truth behind those complaints, I am writing this blogpost to provide a bit of advice for those contemplating/starting the switch to ArcPro, as well as to hopefully provide some “I’ve been there” support for those who have already made the switch.</p>
<h2 class="text-left" id="advice-on-switching-from-arcmap-to-arcpro">Advice on Switching from ArcMap to ArcPro</h2>
<div class="caption"><img src="/images/guestblog/jp_ArcProScreenshot.png" alt="ArcPro Screenshot" /><p class="caption-text">A typical view in ArcPro</p></div>
<h4 id="prepare-yourself">Prepare yourself</h4>
<p>ArcPro looks nothing like ArcMap. Nothing. Remember learning ArcMap? You get to do that again with ArcPro. So if you have ever used GIS, you can appreciate the learning curve that comes with Pro. I recommend at least doing a short tutorial to understand the basics of ArcPro. Luckily if you have an ESRI account, there are many <a href="https://www.esri.com/training/catalog/search/">free trainings</a>. Some up front study will cut down on frustration later.</p>
<div class="clear"></div>
<h4 id="commit-to-using-pro">Commit to using Pro</h4>
<div class="caption"><img src="/images/guestblog/jp_ArcProTraining.png" alt="Free ESRI ArcPro Training" /><p class="caption-text">Checkout ESRI's Free Trainings</p></div>
<p>This is the universal advice for learning a new skill, but important to include nonetheless. The frustration is real. There were many days I wanted to give up and return to ArcMap, I am embarrassed to admit how long it took me to find how to export a map. I will admit I had to ask my supervisor how to insert a legend (come on Pro, why are there TWO insert panels?). I promise, days of frustration will become less frequent as time goes on.</p>
<div class="clear"></div>
<h4 id="leave-all-expectations-behind">Leave all expectations behind</h4>
<p class="pull-right outline"><img src="/images/guestblog/jp_Spongebob.png" alt="GIS Humor" /></p>
<p>Seriously, ArcPro’s tools are not anywhere near where they are in ArcMap. Letting go of expectations not only helped my sanity, it helped me be a better ArcPro user. Until a couple weeks ago I assumed you could not choose the file format for exporting data because it was not where it is in ArcMap. Of course you can choose your file format, it is just in a separate tool in Pro, I should have tried harder to find out how.</p>
<div class="clear"></div>
<h4 id="start-using-arcpro-with-a-brand-new-project">Start using ArcPro with a brand new project</h4>
<div class="caption"><img src="/images/guestblog/jp_AnalysisTools.png" alt="ArcPro Analysis" /><p class="caption-text">Many functions can be found by searching ArcPro Tools</p></div>
<p>For us enthusiastic ArcMap users, it is really hard to break the routine of where tools and functions are, and how a GIS program is organized. Even though it is relatively seamless to open an mxd in ArcPro, your mindset for the old project will be the same. Starting with a brand new project, including new data, will help what is really needed, a fresh perspective. My biggest reason to switching to ArcPro was that I was starting a new job, so I had no previously defined workflows or projects. It felt like the best time for me. However, you do not have to switch jobs to start using Pro!</p>
<h4 id="focus-on-the-positive">Focus on the positive</h4>
<p>Yes, using ArcPro can be frustrating, but some things are much better. For me I like the new cartography setup and the ability to have multiple layouts. I think the cartography interface and symbology defaults make it easier to make a better map. Multiple layouts is also a life saver. I commonly make the same maps for different geographical regions, and it is the best feeling to update one map that automatically updates 12 layouts.</p>
<div class="caption"><img src="/images/guestblog/jp_MultipleLayouts.png" alt="Multiple Layouts" /><p class="caption-text">Using 2 maps in multiple layouts in Pro</p></div>
<h4 id="what-now-arcpro">What now ArcPro?</h4>
<p>Thanks to a supportive supervisor, my resignation to the ways of changing technology, and a little bit of perseverance I have successfully made the change to a ArcPro user. However, I am far from an efficient user of ArcPro. My largest struggle is data organization. I hope as I learn to customize ArcPro I can overcome the data mess that I have created, as I’m sure anyone out there can sympathize with.</p>
<div class="clear"></div>
<hr />
<h4 id="my-background">My Background</h4>
<p><img src="/images/guestblog/jp_JessieinJordan.png" alt="Petra" class="inline-text-right outline" /></p>
<p>After eight years of gaining valuable experience at AGRC I left the State of Utah last summer to try GIS in a different context, the humanitarian field. I currently am living in Amman, Jordan working for <a href="http://www.impact-initiatives.org/">IMPACT Initiatives</a> as part of a team that assesses developing humanitarian needs in Syria. Since arriving I have mapped everything from access to water/healthcare/food/education/etc, to building destruction in Raqqa to human displacement. Our work is part of REACH, a joint initiative with another NGO and the UN, whose goal is to provide information to all humanitarian actors. Therefore all of our work is publicly available on the <a href="http://www.reachresourcecentre.info/">REACH Resource Center</a>.</p>
<p>You can follow me on my <a href="http://jessiepechmannabroad.wordpress.com">personal blog</a>, in which I aim to document what it is like to be a GIS worker in the humanitarian sector as well as what it is like to live in the Middle East.</p>
Utah SGID Statewide Roads Data Layer Updates 01/04/20182018-01-04T00:00:00-07:00https://gis.utah.gov/utah-sgid-statewide-roads-data-layer-updates-01042018<p>Updates were recently made to the SGID10.Transportation.Roads and <a href="/major-updates-coming-to-roads-data-model/">SGID10.Transportation.RoadsODM</a> feature classes that resides on the <a href="/sgid-database/">Utah SGID ArcSDE database server</a>.</p>
<p>Updated roads data is also available as shapefiles and file geodatabase files for download on the <a href="/data/transportation/roads-system/">SGID Roads and Highway System download page</a>.</p>
<p>These updates are also reflected in <a href="/data/address-geocoders-locators/">AGRC’s address locators</a> and the <a href="/data/911/">Utah Next-Generation 911 GIS Database</a>.</p>
<p>The following are highlights from this month’s update:</p>
<h4 id="county-updates">County Updates:</h4>
<ul>
<li>
<p><strong>Cache County:</strong> Obtained roads data on 11/29/2017: added new roads, updated road names and address ranges, etc. Previous update was on 09/29/2017.</p>
</li>
<li>
<p><strong>Davis County:</strong> Obtained roads data on 11/30/2017: added new roads, updated road names and address ranges, etc. Previous update was on 11/30/2017.</p>
</li>
<li>
<p><strong>Rich County:</strong> Obtained roads data on 11/30/2017: added new roads, updated road names and address ranges, etc. Previous update to roads in Rich County was during 07/2017.</p>
</li>
<li>
<p><strong>Salt Lake County:</strong> Obtained roads data on 11/30/2017: added new roads, updated road names and address ranges, etc. Previous update was on 11/30/2017.</p>
</li>
<li>
<p><strong>Summit County:</strong> Obtained roads data on 11/29/2017: added new roads, updated road names and address ranges, etc. Previous update was on 08/15/2017.</p>
</li>
<li>
<p><strong>Washington County:</strong> Obtained roads data on 11/30/2017: added new roads, road names and address ranges, etc. Previous update was on 11/30/2017.</p>
</li>
<li>
<p><strong>Weber County:</strong> Obtained roads data on 11/30/2017: added new roads, road names and address ranges, etc. Previous update was on 11/30/2017.</p>
</li>
</ul>
<h4 id="udot-route-system">UDOT Route System:</h4>
<ul>
<li>The <code class="highlighter-rouge">DOT_F_MP</code> (From Milepost) and <code class="highlighter-rouge">DOT_T_MP</code> (To Milepost) fields that store the milepost attributes of the UDOT state and federal routes in SGID10.Transportation.Roads were updated</li>
<li>The <code class="highlighter-rouge">DOT_RTID</code> field that stores UDOT’s unique numeric route identifiers was updated</li>
</ul>
Hey, Utah! Are you ready for Next Generation 911?2017-12-28T03:15:55-07:00https://gis.utah.gov/utah-ng911-gis-database<p>Preparing for Next Generation 911 (NG911) is largely a group effort by individuals and agencies at the local, state and national levels. AGRC is one of those agencies. We’re on the forefront of NG911 Data in Utah, and we’ve been coordinating with a variety of key players and navigating plenty of policies and guidelines to make the transition. With so many involved parties and policy details it can be overwhelming just trying to understand how the system works. So, let’s talk about NG911.</p>
<h2 id="brief-overview-of-ng911">Brief Overview of NG911</h2>
<p>At its core, NG911 is an upgraded 911 communication infrastructure system. NG911 will update, or sometimes even replace, outdated infrastructure and call-handling equipment. This newer, IP-based infrastructure will allow for text, video, and image content to be exchanged during 911/emergency interactions. NG911 also has the ability to pass along device-based information to the 911 Communications Center, or the public-safety answering point (PSAP).</p>
<p>Additionally, in a true NG911 system, GIS plays a significant and required role. A GIS database will be used to prevalidate all addresses registered with each telecom provider. This will be completed by:</p>
<ul>
<li>geocoding against Location Validation Function, or LVF, and</li>
<li>dynamically routing all 911 calls, based on digital boundaries, to the appropriate PSAP.
The live call-routing function uses what GIS professionals call a ‘point-in-polygon-query’, or, in NG911-speak; the Emergency Call Routing Function, or ECRF.</li>
</ul>
<p>With the current system (referred to as E911 since the ‘E’ was added when mobile phones became supported more than twelve years ago), GIS is used after an emergency call has been delivered to the PSAP - typically to validate the incident location and coordinate the dispatch of responders. Currently, 911 calls are routed to the appropriate PSAP by way of lookup tables (known as Automatic Number Identification (ANI) and Automatic Location Information (ALI)) and a tabular street address table (known as the Master Street Address Guide (MSAG)) that is maintained by the PSAP. Pushing updates to the call-routing system, through these tables, can be timely and cumbersome and may consume valuable time during an emergency situation. NG911, however, will eliminate the need for these tables, as it relies solely on GIS map data. Within Utah, NG911 implementation will be coordinated by the <a href="http://uca911.org/911-division">Utah Communications Authority’s</a> (UCA) 911 Division. To learn more about NG911, visit the UCA <a href="http://uca911.org/911-division/ng-911-gis">overview page</a>.</p>
<h2 id="agrc-and-ng911">AGRC and NG911</h2>
<p><img src="/images/utah-ng911-database.png" alt="NG911 Datasets" class="inline-text-right" /></p>
<p>AGRC’s role in NG911 is centered on the GIS mapping, or ‘geospatial’ component. Truth be told - this GIS mapping task - in itself is quite an undertaking. It involves statewide GIS datasets that must be accurate, complete, and current, and the list of required and strongly recommended GIS map layers is comprehensive: address points, PSAP boundaries, municipal boundaries, mile markers and more. Thankfully though, Utah is already in good shape with this data, due to the partnership between AGRC and county and local government, which has resulted in most of these datasets already being NG911-ready. Additionally, AGRC has established state data standards and sharing agreements that facilitate the consistency and longevity of these datasets.</p>
<p>Today, thanks to the willingness and cooperation of agencies within Utah, we are excited to announce the first release of the <a href="/data/911/">Utah NG911 GIS database</a>. This database is based on the National Emergency Number Association’s (NENA) standard for an NG9-1-1 <a href="https://dev.nena.org/higherlogic/ws/public/download/9828/20161206_NG9-1-1%20GIS%20Data%20Model_PubRvw.pdf">GIS Data Model</a> in its current form. Schema-wise, AGRC will keep current with this standard and will update the Utah NG911 GIS database as NENA makes additions or changes to the specifications. NENA hopes to finalize this standard in the coming year or so. In terms of data content, AGRC will update the Utah NG911 GIS database on a monthly cycle in conjunction with our <a href="/data/transportation/roads-system/">road update cycle</a>. However, AGRC can, and will, make updates more frequently as needed. AGRC continues to explore collaborative, web-based GIS editing platforms that will make near-live edits possible, thanks to authorative GIS data stewards around the state.</p>
<h2 id="looking-ahead">Looking Ahead</h2>
<p>In a true NG911 system, GIS becomes a core component to the system. This puts a lot of responsibility on authoritative GIS editors at the local, regional (e.g., PSAP), and state levels. In 2018, AGRC is looking to make further progress on providing a feedback mechanism for all approved authoritative data editors (such as local jurisdictions, PSAPs, sheriff’s offices, etc.) where they can submit data modifications in a map editing environment and then submit the maps to us so we can push them into production within the established time period. This will ensure the availability of highly accurate, near real-time data to the state’s PSAPs and 911 community. This is a really important aspect to AGRC because this mechanism can save lives!</p>
<p>AGRC also plans to coordinate with UCA to geocode the ALI tables against the Utah NG911 GIS database, specifically looking for ALI addresses that do not geocode. Our goal is to ensure that all existing, valid ALI addresses are represented in the GIS database and to provide local jurisdictions with ALI addresses that need updating or other attention. This will speed up the transition to NG911 and GIS-based call routing, while also lessening any reliance on the MSAG tables.</p>
<h2 id="want-to-get-involved">Want to Get Involved?</h2>
<p>We encourage you to download the <a href="/data/911/">Utah NG911 GIS Database</a> and take a look at it. We are strong believers that the more eyes are on the data and the more the data is used, the better it will get. If nothing else, make sure house or business addresses, or both, are geocodable in both the <code class="highlighter-rouge">RoadCenterlines</code> and <code class="highlighter-rouge">AddressPoints</code> AGRC datasets. These are the datasets that will ensure proper 911 response to your location during an emergency situation.</p>
<p>If you don’t have the required tools and software to interact with the NG911 dataset, you can use our <a href="http://atlas.utah.gov/">mapping website</a> to validate your address using the same underlying datasets. These datasets are only as good as we collectively make them, so give them a try and let us know if you experience any problems.</p>
<p>Comments, questions, or concerns can be directed to Greg Bunce from AGRC at <a href="mailto:GBunce@utah.gov?subject=Hey%2C+Utah%21+Are+you+ready+for+Next+Generation+911%3F">GBunce@utah.gov</a> or <a href="tel:801-349-0039">801-349-0039</a>.</p>
<h3 id="resources-and-further-reading">Resources and Further Reading</h3>
<ul>
<li><a href="http://uca911.org/911-division">Utah Communications Authority’s 911 Division</a></li>
<li><a href="https://dev.nena.org/higherlogic/ws/public/download/9828/20161206_NG9-1-1%20GIS%20Data%20Model_PubRvw.pdf">NENA’s Standard for NG9-1-1 GIS Data Model</a></li>
<li><a href="/utah-mapping-resources-well-prepared-for-nextgen-911/">Utah Mapping Resources: Well-Prepared for NextGen 9-1-1</a></li>
<li><a href="/data/911/">AGRC’s NG911 Database webpage</a></li>
<li><a href="https://github.com/gregbunce/NextGen911UtahGISDataLoader">AGRC’s GitHub Code Repo for the Utah NG911 GIS database ETL process</a></li>
</ul>
<h3 id="ng911-alphabet-soup">NG911 Alphabet Soup</h3>
<ul>
<li><strong>NG911</strong>: Next Generation 911</li>
<li><strong>UCA</strong>: Utah Communications Authority</li>
<li><strong>PSAP</strong>: Public-safety answering point (911 Communications Center)</li>
<li><strong>NENA</strong>: National Emergency Number Association</li>
<li><strong>ALI</strong>: Automatic Location Information (Legacy 911’s table of physical addresses for each 10 digit telephone number)</li>
<li><strong>ANI</strong>: Automatic Number Identification (Legacy 911’s equivalent of call-ID)</li>
<li><strong>MSAG</strong>: Master Street Address Guide (Legacy 911’s table of street names and address ranges and the corresponding center to which center a 911 call will be sent)</li>
<li><strong>LVF</strong>: Local Validation Function (NG911’s geocoding web service)</li>
<li><strong>ECRF</strong>: Emergency Call Routing Function (NG911’s dynamic point-in-polygon service that determines to which PSAP a 911 is sent)</li>
</ul>
3DEP Lidar Proposal for 20182017-12-14T15:15:55-07:00https://gis.utah.gov/3-dep-lidar-proposal-2018<p>In October, a partnership of Utah organizations submitted a proposal to the USGS 3D Elevation Program (3DEP) for 2018 Lidar acquisition projects. After preliminary discussions with USGS, AGRC has submitted a modified proposal on behalf of the partnership, which made several significant changes. Partners include: Utah Geological Survey, Utah Division of Emergency Management, Utah Division of Forestry, Fire and State Lands, Natural Resources Conservation Service, FEMA, US Forest Service, Tooele Army Depot, National Parks Service, Moab, and three ski areas.</p>
<p>The largest change was made to reflect the commitment that USGS has made to lead and fully fund the acquisition of the Uintah Basin and Heber Valley areas that were included in Utah’s proposal. The boundaries of these two areas were adjusted to fit the new 3DEP 1 kilometer tiling grid. The boundaries of the remaining adjacent project areas in Utahs’s 3DEP proposal were also similarly adjusted. Additionally, the boundary for the areas to be contracted by USGS were modified for acquisition efficiency, including the addition of Dinosaur National Monument.</p>
<p>It’s important to keep in mind that we’re still a month or two away from any preliminary or final funding decisions on Utah’s proposal. Eggs should never be counted as chickens. However, the Utah partnership is sharing <a href="/images/3DEP_Lidar_Proposal_2018.png">this updated proposed project area map</a>
in advance, in an effort to promote coordination and avoid potential duplication of effort in these areas.</p>
<p>The proposed areas break down to the following square mileages by USGS quality levels (QL1 - 8 points per meter | QL2 - 2 points per meter):
<a href="/images/3DEP_Lidar_Proposal_2018.png" class="inline-text-right"><img src="/images/3DEP_Lidar_Proposal_2018_sm.png" alt="3DEP Proposal" title="2018 3DEP Lidar Proposal A - click for larger image" /></a></p>
<ul>
<li>QL1 - 1,892</li>
<li>QL2 - 7,018</li>
<li>QL1 (USGS) – 380</li>
<li>QL2 (USGS) - 4,310</li>
</ul>
<p>A shapefile of the proposed Lidar coverage areas is available for <a href="ftp://ftp.agrc.utah.gov/LiDAR/3DEP_Lidar_Proposal_2018.zip">download</a>.</p>
Utah SGID Statewide Roads Data Layer Updates 11/30/20172017-11-30T00:00:00-07:00https://gis.utah.gov/utah-sgid-statewide-roads-data-layer-updates-11302017<p>Updates were recently made to the SGID10.Transportation.Roads and <a href="/major-updates-coming-to-roads-data-model/">SGID10.Transportation.RoadsODM</a> feature classes that reside on the <a href="/sgid-database/">Utah SGID ArcSDE database server</a>.</p>
<p>Updated roads data is also available as shapefiles and file geodatabase files for download on the <a href="/data/transportation/roads-system/">SGID Roads and Highway System download page</a>.</p>
<p>These updates are also reflected in <a href="/data/address-geocoders-locators/">AGRC’s address locators</a>.</p>
<p>The following are highlights from this month’s update:</p>
<h4 id="county-updates">County Updates:</h4>
<ul>
<li>
<p><strong>Davis County:</strong> Obtained roads data on 10/30/2017: added new roads, updated road names and address ranges, etc. Previous update was on 10/27/2017.</p>
</li>
<li>
<p><strong>Duchesne County:</strong> Obtained roads data on 10/26/2017: added new roads, updated road names and address ranges, etc. Previous update was on 03/09/2017.</p>
</li>
<li>
<p><strong>Iron County:</strong> Obtained roads data on 10/24/2017: added new roads, updated road names and address ranges, etc. Previous update was on 08/15/2017.</p>
</li>
<li>
<p><strong>Salt Lake County:</strong> Obtained roads data on 09/30/2017: added new roads, updated road names and address ranges, etc. Previous update was on 11/03/2017.</p>
</li>
<li>
<p><strong>Tooele County:</strong> Obtained roads data on 10/31/2017: added new roads, road names and address ranges, etc. Previous update was on 09/29/2017.</p>
</li>
<li>
<p><strong>Uintah County:</strong> Obtained roads data on 10/26/2017: added new roads, road names and address ranges, etc. Previous update was on 11/09/2016.</p>
</li>
<li>
<p><strong>Utah County:</strong> Obtained roads data on 10/31/2017: added new roads, updated road names and address ranges, etc. Previous update was on 10/27/2017.</p>
</li>
<li>
<p><strong>Washington County:</strong> Obtained roads data on 10/31/2017: added new roads, road names and address ranges, etc. Previous update was on 10/27/2017.</p>
</li>
<li>
<p><strong>Weber County:</strong> Obtained roads data on 10/31/2017: added new roads, road names and address ranges, etc. Previous update was on 10/27/2017.</p>
</li>
</ul>
<h4 id="udot-route-system">UDOT Route System:</h4>
<ul>
<li>The <code class="highlighter-rouge">DOT_F_MP</code> (From Milepost) and <code class="highlighter-rouge">DOT_T_MP</code> (To Milepost) fields that store the milepost attributes of the UDOT state and federal routes in SGID10.Transportation.Roads were updated</li>
<li>The <code class="highlighter-rouge">DOT_RTID</code> field that stores UDOT’s unique numeric route identifiers was updated</li>
</ul>
Dumbing Down Terrain with Contour Polygons2017-11-27T16:28:38-07:00https://gis.utah.gov/dumbing-down-terrain-with-contour-polygons<p>While technology advances towards products with greater resolution and accuracy, sometimes more data isn’t always better data. Sometimes, being able to see general trends and relative differences paints a more interesting picture than sub foot imagery or lidar. This is the case when terrain is dumbed down and represented with generalized contour polygons.</p>
<p><img src="/images/contoursPolys.png" alt="Contour Polygons" class="inline-text-right outline" />Generalized contour polygons are relatively easy to create (no GISP required) and allows the user multiple ways to symbolize the data depending on the desired cartographic effect. Probably the most difficult part of creating the contours is deciding how much to generalize the terrain and what contour interval is best suited for the intended scale, unfortunately a bit of trial and error can be involved. An added benefit of creating contour polygons are the derivative data products like Tanaka contours that can be created once the base elevation and polygons are generated.</p>
<p>To create contours using the steps below you will need a <a href="ftp://ftp.agrc.utah.gov/DEM/30meter_dem/StatewideDEM_30meter.zip">DEM</a> and ArcGIS with the Spatial Analyst Extension.</p>
<h2 id="step-1">Step 1</h2>
<p>Get your units straight. If you want your contours in feet and your DEM is meters (it probably is), now is the time to fix that with a little <a href="http://pro.arcgis.com/en/pro-app/tool-reference/3d-analyst/times.htm">raster math</a>.</p>
<div class="language-py highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">arcpy</span><span class="o">.</span><span class="n">Times_3d</span><span class="p">(</span><span class="s">r'C:\Contours.gdb\dem30'</span><span class="p">,</span> <span class="mf">3.28084</span><span class="p">,</span> <span class="s">r'C:\Contours.gdb\dem30_feet'</span><span class="p">)</span>
</code></pre></div></div>
<h2 id="step-2">Step 2</h2>
<p>Start generalizing… This step can involve a bit of trial and error but is worthwhile spending the time to get it right since all your data will be created from this output. To generalize or smooth a DEM use <a href="http://pro.arcgis.com/en/pro-app/tool-reference/spatial-analyst/focal-statistics.htm">focal statistics</a>. This tool will calculate a new value for each cell in the DEM based on the neighboring cells around it and the statistical method defined. The larger the neighborhood specified, the more the DEM will be smoothed or generalized.</p>
<div class="language-py highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">arcpy</span><span class="o">.</span><span class="n">CheckOutExtension</span><span class="p">(</span><span class="s">'spatial'</span><span class="p">)</span>
<span class="kn">from</span> <span class="nn">arcpy.sa</span> <span class="kn">import</span> <span class="o">*</span>
<span class="n">outDEM</span> <span class="o">=</span> <span class="n">FocalStatistics</span><span class="p">(</span><span class="s">r'C:\Contours.gdb\dem30_feet'</span><span class="p">,</span> <span class="n">NbrCircle</span><span class="p">(</span><span class="s">'25'</span><span class="p">,</span> <span class="s">'CELL'</span><span class="p">),</span> <span class="s">'MEAN'</span><span class="p">)</span>
<span class="n">outDEM</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="s">r'C:\Contours.gdb\dem30_foc25'</span><span class="p">)</span>
</code></pre></div></div>
<h2 id="step-3">Step 3</h2>
<p>Figure out the contour interval and reclassify your DEM. To start, you will want to know the minimum and maximum values of your DEM. The easiest way to do this is right click the DEM in ArcCatalog and find the values under <code class="highlighter-rouge">Statistics</code> in the Raster Dataset Properties. Once you know the minimum/maximum values of your DEM you can define your contour interval and set up the code to reclassify your DEM.</p>
<p>When <a href="http://pro.arcgis.com/en/pro-app/tool-reference/spatial-analyst/reclassify.htm">reclassifying</a> the DEM, you will be assigning elevation ranges defined by your contour interval to a new value. For example, if the minimum value of your DEM is 3000 feet and your contour interval is 200 ft, all elevations from 3000 to 3200 will be calculated to a new elevation of 3200. This will be done for all elevations in your DEM based on the countour interval, basically creating a DEM of terraces. Setting up the code for this part takes a little time, especially if your contour interval is small and your min/max elevation range is large, but on the plus side, you only have to do it once. Your code will look something like this:</p>
<div class="language-py highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">arcpy</span>
<span class="kn">from</span> <span class="nn">arcpy</span> <span class="kn">import</span> <span class="n">env</span>
<span class="kn">from</span> <span class="nn">arcpy.sa</span> <span class="kn">import</span> <span class="o">*</span>
<span class="n">arcpy</span><span class="o">.</span><span class="n">CheckOutExtension</span><span class="p">(</span><span class="s">'spatial'</span><span class="p">)</span>
<span class="n">env</span><span class="o">.</span><span class="n">workspace</span> <span class="o">=</span> <span class="s">r'C:\Countours.gdb'</span>
<span class="c">#Define ranges for entire DEM</span>
<span class="n">newRange</span> <span class="o">=</span> <span class="n">RemapRange</span><span class="p">([[</span><span class="mi">3000</span><span class="p">,</span> <span class="mi">3200</span><span class="p">,</span> <span class="mi">3200</span><span class="p">],</span> <span class="p">[</span><span class="mf">3200.1</span><span class="p">,</span> <span class="mi">3400</span><span class="p">,</span> <span class="mi">3400</span><span class="p">],</span> <span class="p">[</span><span class="mf">3400.1</span><span class="p">,</span> <span class="mi">3600</span><span class="p">,</span> <span class="mi">3600</span><span class="p">],</span> <span class="p">[</span><span class="mf">3600.1</span><span class="p">,</span> <span class="mi">3800</span><span class="p">,</span> <span class="mi">3800</span><span class="p">],</span> \
<span class="p">[</span><span class="mf">4600.1</span><span class="p">,</span> <span class="mi">4800</span><span class="p">,</span> <span class="mi">4800</span><span class="p">]</span> <span class="p">,,,,,,,,,,,,,,,</span> <span class="p">[</span><span class="mf">13200.1</span><span class="p">,</span> <span class="mi">13400</span><span class="p">,</span> <span class="mi">13400</span><span class="p">],</span> <span class="p">[</span><span class="mf">13400.1</span><span class="p">,</span> <span class="mi">13600</span><span class="p">,</span> <span class="mi">13600</span><span class="p">]])</span>
<span class="n">outRaster</span> <span class="o">=</span> <span class="n">Reclassify</span><span class="p">(</span><span class="s">'dem30_foc25'</span><span class="p">,</span> <span class="s">'Value'</span><span class="p">,</span> <span class="n">newRange</span><span class="p">)</span>
<span class="n">outRaster</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="s">'dem30_reclass'</span><span class="p">)</span>
</code></pre></div></div>
<h2 id="step-4">Step 4</h2>
<p>Convert your reclassified <a href="http://pro.arcgis.com/en/pro-app/tool-reference/conversion/raster-to-polygon.htm">raster to polygons</a>. Your elevation raster is set up, you’re almost done.</p>
<div class="language-py highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">arcpy</span><span class="o">.</span><span class="n">RasterToPolygon_conversion</span><span class="p">(</span><span class="s">r'C:\Contours.gdb\dem30_reclass'</span><span class="p">,</span> <span class="s">'ContourPolygons'</span><span class="p">,</span> <span class="s">'SIMPLIFY'</span><span class="p">,</span> <span class="s">'VALUE'</span><span class="p">)</span>
</code></pre></div></div>
<p><img src="/images/tanaka.png" alt="Tanaka Contours" class="inline-text-left outline" />If you’ve made it this far and created contour polygons, you might as well and take it a step further and create <a href="http://wiki.gis.com/wiki/index.php/Tanaka_contours">Tanaka contours</a>. Tanaka contours were developed by Japanese cartographer Tanaka Kitiro in 1950. Using this technique terrain is represented by a terraced effect with the leading northwest edge of the contour illuminated by a light source and the opposite side in shadow.</p>
<p>To create Tanaka contours all you need is your reclassified DEM. To start, create 2 <a href="http://pro.arcgis.com/en/pro-app/tool-reference/3d-analyst/hillshade.htm">hillshades</a>, one with shadows and another without.</p>
<div class="language-py highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">arcpy</span><span class="o">.</span><span class="n">HillShade_3d</span><span class="p">(</span><span class="s">r'C:\Contours.gdb\dem30_reclass'</span><span class="p">,</span> <span class="s">'ContourHillshd_shad'</span><span class="p">,</span> <span class="s">'#'</span><span class="p">,</span> <span class="s">'#'</span><span class="p">,</span> <span class="s">'SHADOWS'</span><span class="p">)</span>
<span class="n">arcpy</span><span class="o">.</span><span class="n">HillShade_3d</span><span class="p">(</span><span class="s">r'C:\Contours.gdb\dem30_reclass'</span><span class="p">,</span> <span class="s">'ContourHillshd_noshad'</span><span class="p">,</span> <span class="s">'#'</span><span class="p">,</span> <span class="s">'#'</span><span class="p">,</span> <span class="s">'NO_SHADOWS'</span><span class="p">)</span>
</code></pre></div></div>
<p>And finally, highlight the illuminated edges and shadows with an <a href="http://pro.arcgis.com/en/pro-app/tool-reference/spatial-analyst/aspect.htm">aspect raster</a>.</p>
<div class="language-py highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">arcpy</span><span class="o">.</span><span class="n">Aspect_3d</span><span class="p">(</span><span class="s">r'C:\Contours.gdb\dem30_reclass'</span><span class="p">,</span> <span class="s">'ContourAspect'</span><span class="p">)</span>
</code></pre></div></div>
<p><img src="/images/tanakaShaded.png" alt="Shaded Contours" class="inline-text-left outline" />Now that you’ve spent all this time creating data, it’s time to start experimenting with how it’s symbolized in ArcMap. For the two hillshades all you’ll need to do is adjust the transparency to your liking. For the aspect layer you will need to open the <code class="highlighter-rouge">Layer Properties Symbology</code> tab and check the box next to <code class="highlighter-rouge">Display Background Value</code> and set the value to <code class="highlighter-rouge">-1</code> and the color to <code class="highlighter-rouge">transparent</code>. This will remove all the black areas, leaving the portions of the contours that are either illuminated or shadowed. Everything else is a matter of personal preference.</p>
<p>If you had trouble creating any of the layers in the steps above, or are interested in layer files for symbology, everything can be <a href="https://drive.google.com/drive/u/0/folders/10N9pYekwruxvCTH20lGbb_ocb9W3PkKr">downloaded</a>.</p>
<p>If you have a favorite cartographic technique or dataset that you would like to highlight, please send it our way.</p>
<p><img src="/images/tanakaFunky.png" alt="Funky Contours" class="outline" /></p>
The Evolution of a Python Script2017-11-21T18:48:13-07:00https://gis.utah.gov/the-evolution-of-a-python-script<p>Python is a very approachable programming language and scripting in python is quick and powerful - Create a file, type some code, and a repeatable script is produced. Python is installed on most computers so your coworkers and colleagues could benefit from your code. If python is not installed, it is pretty <a href="https://www.python.org/downloads/">easy to add</a>.</p>
<p><em>Continue reading if you would like to learn ways to enhance your scripts to be simple to use and reuse, share, and to be more flexible.</em></p>
<h2 id="a-script---command-line-without-parameters">A Script - Command Line without Parameters</h2>
<p><code class="highlighter-rouge">python script.py</code></p>
<p>When starting to script, many programmers will hard code values directly into a script. It is their script and will only run on their machine with their file system. <strong>This is not wrong</strong>. There are <em>plenty</em> of circumstances where this is a fine practice. For example, when the script does not interact with other systems (file system, database, web service) and will run the same on another computer without modification. An interactive calculator would be a great example.</p>
<blockquote>
<p>It has been our experience that any script written and intended for personal use, or as a proof of concept, will most likely be found useful enough that your friends or coworkers will want to use it and it will be running in production in less than a week™</p>
</blockquote>
<p>It is our recommendation to be in the habit of executing python scripts from the command line. Executing a script from the command line provides a few key benefits to double-click executing a python.py file. Most applications that will execute the python file will close when completed. Users will not be able to inspect the output generated during execution or error messages. This can leave users wondering what happened and if the script completed successfully. Use the command line and remove all of the anti-pattern <code class="highlighter-rouge">raw_input('press enter to close')</code> bits!</p>
<div class="language-py highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">#: this will never work on someone elses machine</span>
<span class="c">#: if I ever want to run this on 2018 data or version 2, I have to edit the source</span>
<span class="n">do_something_to</span><span class="p">(</span><span class="s">'c:</span><span class="se">\\</span><span class="s">sgourley</span><span class="se">\\</span><span class="s">projects</span><span class="se">\\</span><span class="s">test_data</span><span class="se">\\</span><span class="s">2017</span><span class="se">\\</span><span class="s">version1</span><span class="se">\\</span><span class="s">data.gdb'</span><span class="p">)</span>
</code></pre></div></div>
<h2 id="a-console-application---command-line-with-parameters">A Console Application - Command Line with Parameters</h2>
<p><code class="highlighter-rouge">python script.py param1 param2</code></p>
<p>A simple enhancement to make the scripts you write more flexible is to allow users to pass parameters to the script. These parameter values can be any string value. Parameters are passed to a script via the command line and are separated by a space. Hard coded and generated output file paths, configurations, and database connections are great candidates to be replace with parameters.</p>
<p>Accessing the parameter values within your script is done via the python standard library <a href="https://docs.python.org/2/library/sys.html">sys module</a>.</p>
<div class="language-py highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">sys</span>
<span class="k">print</span><span class="p">(</span><span class="s">'File executed: {}'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]))</span>
<span class="k">print</span><span class="p">(</span><span class="s">'Parameter 1: {}'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span>
<span class="k">print</span><span class="p">(</span><span class="s">'Parameter 2: {}'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]))</span>
<span class="c">#: react to the inputs</span>
<span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">and</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s">'yes'</span><span class="p">:</span>
<span class="c">#: the filesystem dependency is now removed</span>
<span class="k">return</span> <span class="n">do_something_to</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
<span class="n">do_something_else</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
<span class="c"># output:</span>
<span class="c"># File executed: script.py</span>
<span class="c"># Parameter 1: param1</span>
<span class="c"># Parameter 2: param2</span>
</code></pre></div></div>
<p>As you can see, python makes it very simple to pass values from the command line to the script. The script is able to act on different resources and react to the parameter values. The dependency between the author’s computer configuration is no longer relevant to run the script successfully. Users are not required to edit the source code to change the values of what are now the parameters.</p>
<p><em>This is another reason to execute scripts from the command line since it is not possible to pass parameters from the double-click file execution.</em></p>
<p>While passing parameters in this fashion is a big improvement over no parameters, scripts with parameters require authors to document how the script is to be used. Without a readme or some instructions, a new user will not know to pass parameters nor what values to use. Scripts with more than two or three inputs can quickly become confusing to a user. Trying to remember the order of parameters can also be hard to remember.</p>
<p>A semi acceptable fix to this problem would be to inspect the parameters sent to the script, if any, and validate them. If they are invalid, return a message to the user that the parameters were not valid and provide an example of how the script should be used. <strong>Congratulations, your script has evolved into a console application.</strong></p>
<h2 id="a-better-console-application---using-a-3rd-party-cli-module">A Better Console Application - Using a 3rd Party CLI Module</h2>
<p><code class="highlighter-rouge">python geocode.py milepost 300 15N</code></p>
<p>The python community has created many useful modules that we all can <code class="highlighter-rouge">pip</code> or <code class="highlighter-rouge">conda</code> install and start using. Command Line Interface (CLI) modules are no different. There are a <a href="https://pypi.python.org/pypi/clint/">lot</a> of <a href="http://click.pocoo.org/">command</a> <a href="https://pypi.python.org/pypi/plac">line</a> <a href="http://docs.openstack.org/developer/cliff/">interface</a> <a href="http://builtoncement.com/">modules</a> because there are a lot of opinions on how they should work.</p>
<p>AGRC has been using <a href="http://docopt.org/">docopt</a> and really enjoying it. It is a lightweight module that uses POSIX style comments to define how your console application can be used. You get a CLI and documentation!</p>
<div class="language-py highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="s">'''
Milepost geocoding!
Usage:
geocode milepost (&lt;milepost&gt; &lt;route&gt;)
'''</span>
<span class="kn">from</span> <span class="nn">docopt</span> <span class="kn">import</span> <span class="n">docopt</span>
<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">'__main__'</span><span class="p">:</span>
<span class="n">arguments</span> <span class="o">=</span> <span class="n">docopt</span><span class="p">(</span><span class="n">__doc__</span><span class="p">)</span>
</code></pre></div></div>
<p>The above documentation can be parsed by docopt to help a developer create functionality for the milepost command. docopt has three main patterns. Text inside <code class="highlighter-rouge">&lt;&gt;</code> are considered arguments, text after <code class="highlighter-rouge">--</code> are considered options, and text without either are considered commands. Surrounding items with <code class="highlighter-rouge">[]</code> sets the as optional and <code class="highlighter-rouge">()</code> signifies required. doctopt can <a href="https://github.com/docopt/docopt#usage-pattern-format">do much more</a> so be sure to check out the <a href="https://github.com/docopt/docopt/blob/master/README.rst">documentation</a>. If a user were to type</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>python geocode.py 123 15N
</code></pre></div></div>
<p>docopt would parse the input, realize it <strong>does not</strong> match any documented commands, and return the available commands/syntax/documentation to the user. The user will realize that their syntax is missing the <code class="highlighter-rouge">milepost</code> command and correct their mistake. This is the functionality we suggested above but now the 3rd party module is taking care of all of the boring stuff.</p>
<p>docopt has a lot of useful features. For instance, console application developers are able to create subcommands.</p>
<div class="language-py highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="s">'''
Milepost geocoding!
Usage:
geocode milepost (&lt;milepost&gt; &lt;route&gt;)
geocode railroad (&lt;milepost&gt; &lt;line&gt;)
geocode address (&lt;zone&gt; &lt;street&gt;...) [--address-points-only]
'''</span>
</code></pre></div></div>
<p><strong>That one script now has 3 sub commands and is 3x more useful.</strong></p>
<p>Given the input</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>geocode address 84109 326 east south temple
</code></pre></div></div>
<p>docopt will generate a python dictionary from the inputs.</p>
<div class="language-py highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># output</span>
<span class="p">{</span>
<span class="s">"--address-points-only"</span><span class="p">:</span> <span class="n">false</span><span class="p">,</span>
<span class="s">"&lt;line&gt;"</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span>
<span class="s">"&lt;milepost&gt;"</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span>
<span class="s">"&lt;route&gt;"</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span>
<span class="s">"&lt;street&gt;"</span><span class="p">:</span> <span class="p">[</span>
<span class="s">"326"</span><span class="p">,</span>
<span class="s">"east"</span><span class="p">,</span>
<span class="s">"south"</span><span class="p">,</span>
<span class="s">"temple"</span>
<span class="p">],</span>
<span class="s">"&lt;zone&gt;"</span><span class="p">:</span> <span class="s">"84109"</span><span class="p">,</span>
<span class="s">"address"</span><span class="p">:</span> <span class="n">true</span><span class="p">,</span>
<span class="s">"milepost"</span><span class="p">:</span> <span class="n">false</span><span class="p">,</span>
<span class="s">"railroad"</span><span class="p">:</span> <span class="n">false</span>
<span class="p">}</span>
</code></pre></div></div>
<p>A developer can inspect what command was requested by checking the boolean value for the command name in the dictionary. <code class="highlighter-rouge">address</code> is <code class="highlighter-rouge">True</code> so now we know to look for the street and zone values. The street can be rebuilt by joining the contents of the <code class="highlighter-rouge">&lt;street&gt;</code> array with a space and the zone can be found in <code class="highlighter-rouge">&lt;zone&gt;</code>. The geocoding will use centerlines as well as address points because <code class="highlighter-rouge">--address-points-only</code> is <code class="highlighter-rouge">False</code>.</p>
<p>Hopefully, you are beginning to see the power and flexibility that can be achieved with a command line application. Using doctopt’s powerful syntax, a developer can help the users of their applications discover everything you have made available. It will help users choose all of the options that are applicable and prompt them with the proper syntax when a mistake is made.</p>
<p>I encourage you to evolve some of your scripts into console applications. Maybe start the next python file you create with <code class="highlighter-rouge">from doctopt import docopt</code>. Please read about what docopt can do when designing your next console application. You can even <a href="http://try.docopt.org/">design the CLI in your browser</a>. docopt has also been ported to <a href="https://github.com/docopt">several languages</a> so if you really like it, you can use it for other projects!</p>
New Utah Web Page for Important Census LUCA Information2017-11-09T13:36:48-07:00https://gis.utah.gov/new-utah-web-page-for-important-census-luca-information<p>If you manage city or county address data in GIS or other formats, AGRC has a <a href="/data/address/census-luca-2020/">new web page</a> with Utah-specific information about the Census Bureau’s Local Update of Census Address program.</p>
<p>The LUCA program is the pipeline to supply Census with best, most up-to-date address data, to best position Utah for the 2020 census, and a rightful share from census-informed federal funding formulas that support programs ranging from roads and highways to school lunch programs.
<img src="/images/FindtheLUCALink.png" alt="LUCA link on main gis.utah.gov front page" class="inline-text-right" /></p>
<p><a href="/data/address/census-luca-2020/">The new page</a> includes information describing the LUCA program and its schedule. Additionally it serves as a gateway to supporting GIS data, advice on LUCA strategy and prioritization, and resources from the November 2 LUCA training held in Salt Lake City.</p>
<p>For your convenience, AGRC has put a spotlight link on the <a href="/data/address/census-luca-2020/">LUCA page</a> on the <a href="/#spotlight2">front page of gis.utah.gov</a> – it’s a short scroll down the page on a dark blue background (<em>see red arrow in screenshot</em>).</p>
Utah Recognized in NSGIC Geospatial Excellence Awards2017-10-31T14:41:59-06:00https://gis.utah.gov/utah-recognized-in-nsgic-geospatial-excellence-awards<p>Through its Geospatial Excellence Awards, the <a href="https://nsgic.org">National States Geographic Information Council (NSGIC)</a> recognizes individuals and organizations that advance the capabilities of geospatial technology, and promote NSGIC’s goals of efficient and effective government.</p>
<p>At NSGIC’s Annual Conference this September, two of the national geospatial excellence awards (<a href="https://nsgic.memberclicks.net/2017-NSGIC-awards0">see all</a>) went to Utah-led initiatives.</p>
<div class="flex flex--center flex--around">
<div>
<div class="caption">
<img src="/images/nsgic_awards/KColeGOEDSmall.png" alt="Kelleigh Cole and GOED, Champion Award" />
<p class="caption-text">Kelleigh Cole and GOED, Champion Award</p>
</div>
</div>
<div>
<div class="caption">
<img src="/images/nsgic_awards/ECurtisSmall.png" alt="Evan Curtis, Catalyst Award" />
<p class="caption-text">Evan Curtis, Catalyst Award</p>
</div>
</div>
</div>
<div class="flex flex--center flex--around">
<div>
<div class="caption">
<img src="/images/nsgic_awards/RodBennett.png" alt="Rod Bennett" />
<p class="caption-text">Rod Bennett (left), Catalyst Award</p>
</div>
</div>
<div>
<div class="caption">
<img src="/images/nsgic_awards/TKnowltonSmall.png" alt="Ted Knowlton, Catalyst Award" />
<p class="caption-text">Ted Knowlton, Catalyst Award</p>
</div>
</div>
</div>
<p><strong>Champion Award</strong>: <em>Utah Governor’s Office of Economic Development</em></p>
<p>Utah’s Governor’s Office of Economic Development, through its Broadband Outreach Center and Office of Outdoor Recreation, has championed the use of GIS and enterprise mapping initiatives to deliver value to Utah citizens and businesses. Projects include residential broadband mapping, commercial broadband availability, trail and recreational amenities GIS data layers, partner funding for high resolution aerial photography, and locate.utah.gov - Utah’s award-winning state economic development interactive map. In particular, <strong><em>Kelleigh Cole</em></strong>, Director of GOED’s broadband center, has been an active, supporting, and connecting partner to Utah GIS for the past 6+ years.</p>
<p><strong>Catalyst Award</strong>: <em>Utah Land Information Records (LIR) Initiative</em></p>
<p>The Utah Land Information Records workgroup, a multi-agency partnership of state and local government was formed and facilitated by <strong><em>Evan Curtis</em></strong>, the State Planning Coordinator in the Governor’s Office. Over several months, the group defined a best practice for the voluntary sharing of annual, detailed tax parcel data. This included conceptual recommendations and content guidance in the form of a data model. In its first year, 20 of 29 Utah counties contributed to this open, statewide GIS data layer that is used to support economic development, public safety, planning, and other important application areas. <strong><em>Rodney Bennett</em></strong>, 2016 Chair of the Utah Assessors Association, and <strong><em>Ted Knowlton</em></strong>, Deputy Director of Wasatch Front Regional Council, provided instrumental facilitation to the discussions that formed Utah’s approach to sharing this valued information.</p>
Census LUCA Training for Utah2017-10-30T16:09:42-06:00https://gis.utah.gov/census-luca-training-for-utah<p>As a lot of folks know, it’s in Utah communities’ interest to get a full population count during the upcoming 2020 census. For example, <a href="https://www.nsgic.org/gwu-counting-for-dollars--census-informed-federal-program-funding">funding formulas for many programs are tied to demographic data collected by the Census Bureau</a>. The census count is also used as a guide for redrawing local, state, and national election districts. Helping Census prepare for 2020 is important and something that Utah GIS and addressing professionals are uniquely positioned to do.</p>
<p><em>The info below is a re-posting of information AGRC has emailed to county and city GIS and address contacts.</em></p>
<h3 class="text-left" id="what-is-luca">What is LUCA?</h3>
<p><img src="/images/LUCA2018.png" alt="Census LUCA Program, 2018" class="inline-text-right outline" />The Census Bureau’s Local Update of Census Addresses (LUCA) program allows city, county, and state government to review and suggest edits to the master residential address list that Census uses to plan and execute their survey work. Of particular importance is the ability for Census to track responses across multiple survey mechanisms (field workers, survey-by-mail, and, this year, online response).</p>
<p>While LUCA participation is optional, many cities and counties plan to participate in the address list review. The closer the Census Bureau’s master database matches the actual addresses on the ground in your community, the better shot you’ve got to be fully counted.</p>
<h3 class="text-left" id="participating-in-luca">Participating in LUCA</h3>
<p>The decision to participate in the LUCA review is made by your highest elected official (Mayor, Commissioner, etc.) and the registration deadline is December 15th. The 120 day LUCA review time frame will begin in February 2018. While limited paper and spreadsheet review options exist, <strong><em>the main vehicle for the LUCA review is via a GIS platform</em></strong>. To review and edit the address list, LUCA participants can use either the QGIS-based application Census provides (called GUPS), or other GIS software that will produce an output shapefile that adheres to the rigid data content/formal specification for LUCA.</p>
<h3 class="text-left" id="luca-training">LUCA Training</h3>
<p>AGRC, on behalf of the Census Bureau and in partnership with the Governor’s Office of Management and Budget, has scheduled Utah’s LUCA training session for:</p>
<p>Thursday, November 2nd, from 1pm - 5pm<br />
195 North 1950 West, Salt Lake City<br />
MASOB Building, Room 1019 A/B</p>
<p class="pop text-center">Please <strong><a href="https://docs.google.com/forms/d/e/1FAIpQLSczYHcjdbW33f-8VpnevDEq9rOL4V18astz6uU74VAUpXJFZg/viewform?usp=sf_link">RVSP for the Nov. 2nd training</a></strong>.</p>
<p>At this meeting, Census will provide a technical overview of the options for participation in the LUCA address list review. AGRC has asked for Census to move quickly through the basics so additional time can be spent on the QGIS-based application and the shapefile submission option.</p>
<p>Utah communities do not yet need to be formally registered for the LUCA review to attend this training. The training will cover how to get registered to participate in LUCA but you can review online materials (<a href="https://www2.census.gov/geo/pdfs/partnerships/luca/2020CensusLUCA_Flyer.pdf">flyer</a> or <a href="https://www2.census.gov/geo/pdfs/partnerships/luca/2020LUCA_InfoGuide.pdf">information guide</a>) to learn more and to get a start on assisting your jurisdiction’s highest-elected offical in registering for LUCA now (<a href="https://www.census.gov/geo/partnerships/luca.html">see Registration section of this page for instructions</a>).</p>
<h3 class="text-left" id="larger-benefit">Larger Benefit</h3>
<p>Lastly, a point of emphasis. Maintaining a GIS layer of addresses is obviously of great value for more than just the 2020 census. Active data exchanges between Census and the Postal Service mean that the most important address work to support the LUCA process is expected to be adding missing residential addresses that do not receive traditional street delivery-style mail such as:
subaddresses (unit and apartment numbers), residences with clustered mailboxes such as dorms, trailer parks, or gated communities
rural delivery route addresses, and communities with PO Box only mail delivery.
The LUCA process will push us all to create/refine Utah address data resources. We’ll also discuss how this work can best be organized to support the Census process but also meet similar data requirements for emergency response and other vital service needs, while complying with the strict legal restrictions for handling the input address data received from Census.</p>
<p>Comments, questions, compliments, or concerns can be directed to Matt Peters from AGRC at <a href="mailto:MPeters@utah.gov?subject=Census+LUCA+Training+for+Utah">MPeters@utah.gov</a> or <a href="tel:801-538-3563">801-538-3563</a>.</p>
Utah SGID Statewide Roads Data Layer Updates 10/27/20172017-10-27T00:00:00-06:00https://gis.utah.gov/utah-sgid-statewide-roads-data-layer-updates-10272017<p>Updates were recently made to the SGID10.Transportation.Roads and <a href="/major-updates-coming-to-roads-data-model/">SGID10.Transportation.RoadsODM</a> feature classes that resides on the <a href="/sgid-database/">Utah SGID ArcSDE database server</a>.</p>
<p>Updated roads data is also available as shapefiles and file geodatabase files for download on the <a href="/data/transportation/roads-system/">SGID Roads and Highway System download page</a>.</p>
<p>These updates are also reflected in <a href="/data/address-geocoders-locators/">AGRC’s address locators</a>.</p>
<p>The following are highlights from this month’s update:</p>
<h4 id="county-updates">County Updates:</h4>
<ul>
<li>
<p><strong>Box Elder County:</strong> Obtained roads data on 09/15/2017: added new roads, updated road names and address ranges, etc. Previous update was on 07/18/2017.</p>
</li>
<li>
<p><strong>Carbon County:</strong> Obtained roads data on 09/30/2017: added new roads, updated road names and address ranges, etc. Previous update was on 04/06/2017.</p>
</li>
<li>
<p><strong>Davis County:</strong> Obtained roads data on 09/30/2017: added new roads, updated road names and address ranges, etc. Previous update was on 09/28/2017.</p>
</li>
<li>
<p><strong>Salt Lake County:</strong> Obtained roads data on 09/30/2017: added new roads, updated road names and address ranges, etc. Previous update was on 09/28/2017.</p>
</li>
<li>
<p><strong>Utah County:</strong> Obtained roads data on 10/06/2017: added new roads, updated road names and address ranges, etc. Previous update was on 09/28/2017.</p>
</li>
<li>
<p><strong>Washington County:</strong> Obtained roads data on 09/30/2017: added new roads, road names and address ranges, etc. Previous update was on 08/15/2017.</p>
</li>
<li>
<p><strong>Weber County:</strong> Obtained roads data on 08/31/2017: added new roads, road names and address ranges, etc. Previous update was on 09/28/2017.</p>
</li>
</ul>
<h4 id="udot-route-system">UDOT Route System:</h4>
<ul>
<li>The <code class="highlighter-rouge">DOT_F_MP</code> (From Milepost) and <code class="highlighter-rouge">DOT_T_MP</code> (To Milepost) fields that store the milepost attributes of the UDOT state and federal routes in SGID10.Transportation.Roads were updated</li>
<li>The <code class="highlighter-rouge">DOT_RTID</code> field that stores UDOT’s unique numeric route identifiers was updated</li>
</ul>
<h4 id="general-dataset-maintenance">General Dataset Maintenance</h4>
<ul>
<li>Implemented a more complete and standardized street (post) type domain for <code class="highlighter-rouge">POSTTYPE</code>, <code class="highlighter-rouge">A1_POSTTYPE</code>, and <code class="highlighter-rouge">A2_POSTTYPE</code> then ensured that all existing values in <code class="highlighter-rouge">POSTTYPE</code> conform to this new domain.</li>
</ul>
Utah SGID Statewide Roads Data Layer Updates 09/29/20172017-09-29T00:00:00-06:00https://gis.utah.gov/utah-sgid-statewide-roads-data-layer-updates-09292017<p>Updates were recently made to the SGID10.Transportation.Roads and <a href="/major-updates-coming-to-roads-data-model/">SGID10.Transportation.RoadsODM</a> feature classes that resides on the <a href="/sgid-database/">Utah SGID ArcSDE database server</a>.</p>
<p>Updated roads data is also available as shapefiles and file geodatabase files for download on the <a href="/data/transportation/roads-system/">SGID Roads and Highway System download page</a>.</p>
<p>The following are highlights from this month’s update:</p>
<h4 id="county-updates">County Updates:</h4>
<ul>
<li>
<p><strong>Cache County:</strong> Obtained roads data on 08/15/2017: added new roads, updated road names and address ranges, etc. Previous update was on 06/19/2017.</p>
</li>
<li>
<p><strong>Davis County:</strong> Obtained roads data on 08/31/2017: added new roads, updated road names and address ranges, etc. Previous update was on 08/15/2017.</p>
</li>
<li>
<p><strong>Kane County:</strong> Obtained roads data on 08/22/2017: added new roads, updated road names and address ranges, etc. Previous update was on 01/15/2016.</p>
</li>
<li>
<p><strong>Morgan County:</strong> Obtained roads data on 08/11/2017: added new roads, updated road names and address ranges, etc. Previous update was on 06/19/2017.</p>
</li>
<li>
<p><strong>Salt Lake County:</strong> Obtained roads data on 08/31/2017: added new roads, updated road names and address ranges, etc. Previous update was on 08/15/2017.</p>
</li>
<li>
<p><strong>Tooele County:</strong> Obtained roads data on 08/14/2017: added new roads, updated road names and address ranges, etc. Previous update was on 06/19/2017.</p>
</li>
<li>
<p><strong>Utah County:</strong> Obtained roads data on 08/31/2017: added new roads, updated road names and address ranges, etc. Previous update was on 08/15/2017.</p>
</li>
<li>
<p><strong>Weber County:</strong> Obtained roads data on 08/31/2017: added new roads, road names and address ranges, etc. Previous update was on 08/15/2017.</p>
</li>
</ul>
<h4 id="udot-route-system">UDOT Route System:</h4>
<ul>
<li>The <code class="highlighter-rouge">DOT_F_MP</code> (From Milepost) and <code class="highlighter-rouge">DOT_T_MP</code> (To Milepost) fields that store the milepost attributes of the UDOT state and federal routes in SGID10.Transportation.Roads were updated</li>
<li>The <code class="highlighter-rouge">DOT_RTID</code> field that stores UDOT’s unique numeric route identifiers was updated</li>
</ul>
New 2017 Google Imagery2017-09-19T13:55:05-06:00https://gis.utah.gov/new-2017-google-imagery<p>The new 2017 high-resolution Google imagery (6” pixels) is available through AGRC’s <a href="/discover/">Discover server</a>! Updated areas (map below) include the what Google calls the Salt Lake, Heber, Logan, St. George and Tooele blocks which comprise
-most of the Wasatch Front urban area (Brigham City, Weber County, Davis County, Salt Lake County, and Utah County)
-many Wasatch Back communities (Summit, Wasatch and Morgan Counties, and Tooele and Cedar Valley.
-many of the Box Elder and Cache Valley communities
-the St. George metro area
-western Uinta mountains, including much of the Mirror Lake Highway, Strawberry Reservior, and a northwestern portion of the Unitah Basin</p>
<p>The new imagery is already loaded into the <code class="highlighter-rouge">Google</code>, <code class="highlighter-rouge">Utah</code>, <code class="highlighter-rouge">Basemap-Hybrid</code>, and <code class="highlighter-rouge">Google 2017archive</code> services. If you’re using these services, you don’t need to change a thing layer-wise, but you may need to clear your cache (instructions below). The new imagery is also available for download as geo-referenced jpeg files (.jp2) by all organizations that have signup to use licensed content on the Discover server.</p>
<p>If you have not signed up for access to the Google imagery visit the <a href="/discover/">Discover - Imagery and Base Map Server</a> page for details and to access the links needed to request an account.</p>
<p><a href="/images/New2017_Google.png" class="inline-text-right"><img src="/images/2017UpdatedAreas.png" alt="Google update" title="2017 Google Imagery updates - click for larger image" /></a></p>
<p>Comments, questions, compliments, or concerns can be directed to Rick Kelson from AGRC at <a href="mailto:RKelson@utah.gov">RKelson@utah.gov</a></p>
<h4 id="dont-see-the-updated-imagery">Don’t see the updated imagery?</h4>
<p><strong>ArcMap/ArcGIS Pro users will need to clear their local caches to see the new imagery.</strong> Users can clear their entire ArcMap/ArcGIS Pro caches or clear caches for just the <code class="highlighter-rouge">Google</code>, <code class="highlighter-rouge">Utah</code>, and <code class="highlighter-rouge">Basemap-Hybrid</code> layers.</p>
<h4 id="cache-clearing-instructions">Cache Clearing Instructions</h4>
<ul>
<li>
<p><strong>ArcMap</strong> Go to the service’s <code class="highlighter-rouge">Layer Properties -&gt; Cache</code> tab and select <code class="highlighter-rouge">Clear Local Cache Now</code>. Be patient as this could take several minutes. If the blurry tiles persist you have the options to <code class="highlighter-rouge">Clear cache when the session ends</code> or <code class="highlighter-rouge">Don't cache and data locally</code>. Another option is to completely clear your ArcMap cache by going to <code class="highlighter-rouge">Customize -&gt; ArcMap Options -&gt; Display Cache -&gt; Clear Cache</code>.</p>
</li>
<li>
<p><strong>ArcGIS Pro</strong> Go to the service’s <code class="highlighter-rouge">Layer Properties -&gt; Cache</code> tab and select <code class="highlighter-rouge">Clear Cache</code>. You can also clear your entire Pro cache by going to the Pro project’s <code class="highlighter-rouge">Options -&gt; Display</code> and check <code class="highlighter-rouge">Clear cache</code> and selecting <code class="highlighter-rouge">OK</code>.</p>
</li>
</ul>
<h4 id="sponsoring-organizations-2017-updates">Sponsoring Organizations (2017 Updates):</h4>
<p><img src="/images/ThankYou2017Partners_Large.png" alt="partners" /></p>