|
SGID Data Viewer
Application for viewing SGID data layers.
Land Use Planning
Application used for county development planning.
Energy Resources
A resource to view the various features pertaining to energy.
Historic Preservation
Historic Site information locating application.
Utah DFO Fuel Sites
Provides an interactive map displaying fleet vehicle fueling sites.
Regional Facilities
Critical facilities Land use notification system application.
Farmington City Area
An interactive map displaying information about the Farmington City Parcels and
Zoning.
Oil and Gas Wells
An interactive map displaying information about the Division of Oil Gas and Mining's
wells, fields, and units .
Farmington Cemetery
An interactive map displaying information about the Farmington Cemetery.
Park City
A resource to identify the environmental impacts in and around Park City.
Sex Offender Mapping
Utah sex offender mapping demo.
|
About Mapserv.utah.gov
Mapserv.utah.gov is Utah's Automated Geographic Reference
Center's (AGRC) implementation of ESRI's ArcGIS Server.
What is ArcGIS Server
ArcGIS Server is a way to provide editing, data entry and advanced GIS analysis
through a web browser window.
If you would like to have an application developed for your agency, please contact
or if you have any questions about these applications or web services you can contact
the programmer and web designer
.
Application Descriptions and Use
A list of the public ArcGIS Server applications are in the left column and a short
decription of how to utilize them is listed below.
The SGID data viewer has been created to display AGRC's State Geographic Information
Database (SGID). Search methods include
- Search by Address
- Search by County
- Search by Municipality
- Search by Geographic Names
Other features include
- Generating PDF Maps
The SGID data viewer is an application that makes viewing the SGID
Data more user friendly. 45 layers of data are present and more are being added.
This applications makes viewing SGID data easy and fast.
View ArcGIS Server Application
Land Use Planning is an ArcGIS application that aids city planners in many ways.
Search methods include
- Search by Address
- Search by County
- Search by Municipality
- Search by Watershed
- Search by Geographic Names
Other features include
- Generating PDF Maps
The land use planning search results are organized into a table
and the map is zoomed to the area of interest. When searching for geographic names,
if one result is found the map is automatically zoomed other wise the user must
pick which result they were searching for.
View ArcGIS Server Application
Historic Preservation searches through the Department of State Histories historic
sites database. Search methods include
- Search by Historic District
- Search by Address
- Search by County
- Search by Municipality
- Search by Shape
The historic sites search results are then organized into a table.
A user can then export all results to an excel spreadsheet with the complete information
about every site in that district. A user can also click on the historic site name
in the table to zoom to the parcel and quickly find more information about the parcel.
A form on that specific historic site can then be generated and printed.
View ArcGIS Server
Application
Energy Resources viewer displays various energy related features including
- Oil Fields
- Gas Fields
- Transmission Lines
- Power plants
- Search by Shape
View ArcGIS Server
Application
The Park City GIS web application is designed as a resource to identify the environmental
impacts related to the historical mining district. There are many layers of data
available in the map and users can generate informative reports on these layers.
- Search Soil Ordinances by Address
- Search by Address
- Search by Shape
Before a search is performed, you can select the layers you want
to query; By default all are selected. Once the search has been performed, the results
are formatted into a floating panel. A generate report button is displayed and generates
a map with the attribute information formatted for printing.
In addition to the searching features, there are also environmental annual reports.
View ArcGIS Server Application
The State of Utah Fuel Network currently works with State, City and County Governments
and their agencies, and Higher Education, and School Districts, to provide safe,
convenient and cost efficient fleet vehicle fueling.
DFO Fuel Sites is an interactive mapping application that displays Utah fleet vehicle
fueling sites.
- Identify a fueling site
The identify results are organized into a tree. A user can then
click to open the tree and view attribute information.
View ArcGIS Server
Application
Regional Facilities searches for parcels whose land use status is scheduled to change.
Search methods include
- Search by Notification date
- Search by Taxing Entity
- Search by Both Methods
The results are then organized into a table. A user can then click
on the Municipality link for further parcel information; Parcel address, an image
scan of the notification sent out, affected tax entities etc..
View ArcGIS Server
Application
The Farmington Cemetery viewer was designed to give people a detailed interactive
view of the cemetery. Viewers can check the status of the cemetery lots and locate
graves searching by name.
- Search by Name
If the name is matched, it is zoomed to, highlighted, and labeled.
View ArcGIS Server
Application
The Farmington City Area viewer was designed to give people a detailed interactive
view of the city. Viewers can check the status of parcels, zoning, and generate
maps.
- Generate a Map
View ArcGIS Server
Application
The oil and gas wells application was developed for the Division of Oil Gas and
Mining showing oil and gas wells, fields and units.
- Search the attributes in the Oil and Gas Wells layer
The results are highlighted in the map and the attribute data is
put into organized tables in the search results panel.
View ArcGIS Server Application
Sex Offender Mapping application is a demo that shows how ArcGIS Server can be integrated
into the Department of Corrections Sex Offender Search website to add a geospatial
component. Search methods include
- Search by Address
- Search by Zip Code
- Search by Shape
Clicking on the images which are screenshots from the Department
of Corrections website takes you to mock pages simulating the experience that you
would get from visiting the Department of Corrections Sex Offender website. The
first simulates searching by name and the second by zip code. Finally, the address
and geocode button at the bottom are to demonstrate the non-public side of the application
where offenders geocoded address locations can be manually changed by clicking on
the xy button in the toolbar and clicking at a new point on the map. To submit your
new point simply click the submit button.
SITLA is an application that allows users to identify land ownership. Search method
is done by township and range. Search methods include
- Search by Township and Range
The township and range, when found, is zoomed to on the map and
is added to a list so a user can identify what township and range is being viewed.
Web Service Descriptions and Use
A list of the public web services for use in ArcGIS Server applications or any web
site.
SOAP Web Services - Simple Object Access Protocol
These web services are best utilized through Microsoft Visual Studio .NET 2005. However,
testing through a browser is also possible using the same URL.
- Usage: This web service utilizes 4 address locators based on AGRC's state
wide streets dataset. It tries to match the address on SName first, then ACSAlias,
Alias1, and Alias2. For example: 300 east Broadway will not match the SName but
will match the Alias1. 300 east 300 south would match for SName etc.
Another feature of this web service is that standard address locators need a zip
code. We've created the functionality for matches to be made if you only know the
municipality. Only accepted city names will work. The list can be found using the
city names web service.
- Performance: You will get the best performance searching on values falling
in SName and searching on a known zip code.
- Returned Object:
<GeocodeResult>
<MatchAddress>string</MatchAddress>
<Geocoder>string</Geocoder>
<Score>double</Score>
<UTM_X>double</UTM_X>
<UTM_Y>double</UTM_Y>
<LONG_X>double</LONG_X>
<LAT_Y>double</LAT_Y>
</GeocodeResult>
- URL:
Please Register or Login to use web services by clicking the appropriate link.
- Usage: This web service returns an array of city names. This can be used
to populate drop down lists or auto complete ajax features. These are the acceptable
city names as described in the SGID.U024.Municipalities layer that can be used with
the geolocator web service. For example, Heber City is accepted but Heber is not.
- Returned Object:
<ArrayOfCityName>
<CityName>
<City>Alpine</City>
</CityName>
<CityName>
<City>Alta</City>
</CityName>
...
</ArrayOfCityName>
- URL:
Please Register or Login to use web services by clicking the appropriate link.
- Usage : This web service currently contains two functions that 'crosswalk'
the relationship between specific Taxing Entities and Tax Areas in Utah. Tax entities
include all incorporated bodies that have the power to levy a local property tax
such as school districts, counties, cities, special service districts, redevelopment
districts, etc. In this web service, taxing entities are referred to using an identification
numbering scheme maintained by the Utah State Tax Commission (USTC). Tax areas are
polygon features represents a unique combination of overlapping taxing entities.
The rate and the recipients of property tax within a single tax area should be the
same. In this web service, tax area numbers are based on the numbers that individual
counties assign to these area and this numbering scheme consists a TaxArea Id of
up to 5 characters and a TaxSubAreaID number of 4 characters.
- GetTaxAreasFromEntityNumber: The Get Tax Areas From Entity Number function
returns all the county tax area numbers within a specified USTC taxing entity number.
- GetEntitiesFromArea: The Get Entities FromA rea function returns all the
USTC tax entity numbers and descriptions that can levy a property tax within a specified
county tax area number.
- Returned Objects:
- GetTaxAreasFromEntityNumber
<ArrayOfTaxArea>
<TaxArea>
<taxAreaID>009</taxAreaID>
<taxSubAreaID>0000</taxSubAreaID>
<properName>San
Juan</properName>
</TaxArea>
...
</ArrayOfTaxArea>
- GetTaxEntitiesFromArea
<ArrayOfEntity>
<Entity>
<entityNum>1010</entityNum>
<properName>San
Juan</properName>
</Entity>
...
</ArrayOfEntity>
- URL:
Please Register or Login to use web services by clicking the appropriate link.
- Usage: This web service piggy backs the geocoding web service by geocoding
an address, performing a spatial query against a set of layers, and finally returning
information about what districts the supplied address is in as well as the results
of the geocode.
The list of layers includes
- CountyBoundaries
- Municipalities
- AdjustedUtahSenateDistricts2002
- AdjustedUtahHouseDistricts2002
- AdjustedUSHouseDistricts2002
- VotingPrecincts
- SchoolDistricts
- Returned Object:
<ArrayOfResults>
<Results>
<MatchAddress>326
E South Temple St, 84111</MatchAddress>
<Geocoder>U024.GC_StatewideStreets</Geocoder>
<GeocodeScore>81</GeocodeScore>
<UTM_X>425585.8</UTM_X>
<UTM_Y>4513511.97</UTM_Y>
<LONG_X>-111.8817402</LONG_X>
<LAT_Y>40.7692131</LAT_Y>
</Results>
<Results>
<DistrictLayer>SGID.U024.AdjustedUtahHouseDistricts2002</DistrictLayer>
<DistrictValue>24</DistrictValue>
<EMail>rchouck@utah.gov</EMail>
<Name>Chavez-Houck,
Rebecca</Name>
<Party>D</Party>
</Results>
...
</ArrayOfResults>
- URL:
Please Register or Login to use web services by clicking the appropriate link.
- Usage: This web service direct connects to the SGID database and fetches
a raster dataset that you supply by name. It then does an Identify operation and
returns the value at the coordinates that you input as a parameter. Currently
SGID.SGIDRAS.DEM_10METER is the only available raster dataset in the SGID.
- Method Summary:
/// <summary>
/// GetRasterValue does an identify on a raster
dataset given a UTM X and UTM Y point value and returns the value in the raster
at that point.
/// </summary>
/// <param name="userName">The username
that you have created with http://mapserv.utah.gov.</param>
/// <param name="SGIDLayerName">The raster
dataset in the SGID that you would like to identify on. Currently SGID.SGIDRAS.DEM_10METER
is the only available raster dataset in the SGID.</param>
/// <param name="utmX">The UTM X value
of your point of interest.</param>
/// <param name="utmY">The UTM Y value
of your point of interest.</param>
/// <returns>Returns the value|unit. eg: 3048|meters.
On error returns Error|message.</returns>
public
string GetRasterValue(string
userName, string SGIDLayerName,
double utmX, double utmY)
- URL:
Please Register or Login to use web services by clicking the appropriate link.
- Usage: This webservice allows you to query any layer in the SGID and get
the features envelope returned. If your search returns multiple geometries they
are all returned in an array of Envelope objects.
- Method Summary:
/// <summary>
/// GetFeatureEnvelope performs a spatial query
and returns a geometry envelope of the intersecting feature for a specified layer.
/// </summary>
/// <param name="userName">The username
that you have registered with http://mapserv.utah.gov.</param>
/// <param name="SGIDLayerName">Full
name of the SGID layer. example: "SGID.U024.CountyBoundaries"</param>
/// <param name="attributeName">The attribute
field name in the layer you want to query</param>
/// <param name="attributeValue">The
attribute value</param>
/// <param name="sqlOperator">The mathmatical
operater you would like to use in your query.</param>
/// <param name="useQuotes">Boolean value
whether you want your attributeValue parameter encased in single quotes</param>
/// <returns>Returns an array of Envelope
objects. Envelope type contains min and max x and min and max y values. On error
returns Error|message.</returns>
public Envelope[] GetFeatureEnvelope(string userName, string SGIDLayerName, string attributeName,
string attributeValue,
string sqlOperator, bool useQuotes)
- URL:
Please Register or Login to use web services by clicking the appropriate link.
- Usage: This web service allows you to query any layer in the SGID and get
feature attributes returned.
- Spatial Query:
/// <summary>
/// Performs a spatial query and returns attribute info
on the intersecting feature for a specified layer.
/// </summary>
/// <param name="userName">The username that you
have registered with http://mapserv.utah.gov.</param>
/// <param name="SGIDLayerName">Full name of the
SGID layer. example: "SGID.U024.CountyBoundaries"</param>
/// <param name="attributeList">Array of field
names for which values will be returned</param>
/// <param name="utmX">UTM X value</param>
/// <param name="utmY">UTM Y value</param>
/// <returns>Returns an array of Attribute object
arrays. Attribute type contains field and value. On error returns Error|message.</returns>
public Attribute[] GetFeatureAttributes(string userName, string SGIDLayerName, string[] attributeList,
double utmX, double utmY)
- Attribute Query:
/// <summary>
/// Performs an attribute query and returns attributes
from one feature selected. In the future, this method will return attributes for
multiple selected features.
/// </summary>
/// <param name="userName">The username that you
have registered with http://mapserv.utah.gov.</param>
/// <param name="SGIDLayerName">Full name of the
SGID layer. example: "SGID.U024.CountyBoundaries"</param>
/// <param name="attributeList">Array of field
names for which values will be returned</param>
/// <param name="attributeName">Name of column
to query</param>
/// <param name="attributeValue">Value to query
for</param>
/// <param name="sqlOperator">The operator to use
in query.</param>
/// <returns>Returns an array of Attribute object
arrays. Attribute type contains field and value. On error returns Error|message.</returns>
public Attribute[] GetFeatureAttributes(string userName, string SGIDLayerName, string[] attributeList,
string attributeName,
string attributeValue,string
sqlOperator)
- URL:
Please Register or Login to use web services by clicking the appropriate link.
SOAP Example
JSON Web Services - JavaScript Object Notation
These web services were designed to be consumed through standard websites with javascript.
However, there are many possibilities on how to consume them. These web services
can also be tested in a browser by using the given URL. Be sure to check out
http://www.json.org for more information about JSON.
- Usage: This web service utilizes 4 address locators based on AGRC's state
wide streets dataset. It tries to match the address on SName first, then ACSAlias,
Alias1, and Alias2. For example: 300 east Broadway will not match the SName but
will match the Alias1. 300 east 300 south would match for SName etc.
Another feature of this web service is that standard address locators need a zip
code. We've created the functionality for matches to be made if you only know the
municipality.
- Funtion: publuc GeocodeResult GeocodeAddress(string userName, string streetAddress,
string zipCodeOrCity, string jsonp)
- Performance: You will get the best performance searching on values falling
in SName and searching on a known zip code.
- Returned JSON String:
jsonp({"matchAddress": "326 E South Temple St, 84111","geocoder": "U024.GC_StatewideStreets","score":
81,"uTM_X": 425585.8,"uTM_Y":4513511.97,"lONG_X": -111.8817402,"lAT_Y": 40.7692131})
- URL:
Please Register or Login to use web services by clicking the appropriate link.
- Usage: This web service returns an array of City names. This can be used
to populate drop down lists or auto complete features. This is the acceptable city
names that can be used with the geolocator web service. For example, Heber City
is accepted but Heber is not.
- Funtion: public CityName[] GetCityNames(string userName, string jsonp)
- Returned JSON String:
jsonp([{"city":"Alpine"},{"city":"Alta"},{"city":"Altamont"},{"city":"Alton"},...])
- URL:
Please Register or Login to use web services by clicking the appropriate link.
- Usage: This web service biggy backs the geocoding web service by geocoding
and address, and then performs a spatial query against a set of layers and returns
information about what district the geocoded address is in as well as the results
of the geocode.
The list of layers includes
- CountyBoundaries
- Municipalities
- AdjustedUtahSenateDistricts2002
- AdjustedUtahHouseDistricts2002
- AdjustedUSHouseDistricts2002
- VotingPrecincts
- SchoolDistricts
- Funtion: public Results[] Find(string userName, string Address, string ZipCode,
string jsonp)
- Returned JSON String: jsonp([{"matchAddress":"326 E South Temple St, 84111","geocoder":"U024.GC_StatewideStreets","geocodeScore":81,"uTM_X":425585.8,"uTM_Y":4513511.97,"lONG_X":-111.8817402,"lAT_Y":40.7692131},
{"districtLayer":"SGID.U024.AdjustedUtahHouseDistricts2002","districtValue":"24","eMail":"rchouck@utah.gov","name":"Chavez-Houck,
Rebecca","party":"D","geocodeScore":0,"uTM_X":0,"uTM_Y":0,"lONG_X":0,"lAT_Y":0},
... ])
- URL:
Please Register or Login to use web services by clicking the appropriate link.
JSON Example and Information
This Example uses HTML, JavaScript, and the Address Geolocater web service provided
by AGRC.
- You'll need to download Jason Levitt's javascript helper class here [jsr_class].
You'll need to include this in your html page later so you can reference its variables
and functions.
- <script type="text/javascript" src="jsr_class.js"></script>
- Open or create your HTML page you wish to add a GIS web service component to. Create
a div to dynamically populate the results.
- <div id="jsonString"> </div>
- Add a button to your page or some other object that allows for on onclick event;
Name the function. Also add text boxes to get the users information.
- <input type="submit" value="Fetch Coordinates from mapserve"
onclick="callGeocode(); return false;" />
- <input id="zone" type="text" value="84111" />
- <input id="address" type="text" value="326 east south
temple" />
- Create the javascript function to handle the click event and fire the web service
call. My code will get the values from the text box put them in the web service
call string, make the web service request, dynamically create a script tag to catch
the JSON return string and call the jsonp (JSON Padding) function to handle the
results.
-
function callGeocode()
{
var address = document.getElementById("address").value;
var zone = document.getElementById("zone").value;
var uri = "Please Register or Login to use web services by clicking the appropriate link./GeocodeAddress?userName=YourUserName+"&streetAddress="
+ escape(address) +"&zipCodeOrCity=" + escape(zone) +"&jsonp=doThis"
var request = new JSONscriptRequest(uri);
request.buildScriptTag();
request.addScriptTag();
}
- Now that the web service has been fired and a script tag has been added to the DOM
of the browser, the script text now has the results from the web service call. The
JSONP is a variable that appends a javascript function call around the JSON string.
This is done so a developer can call a predefined javascript method to handle the
results from the web service call. Mine is called doThis(result). doThis will then
grab the div, remove any previus results, grab the web service results in a var
returnedItems, and dynamically create a lable and populate the label with the results
of the web service call. Finally, the label is added to the div.
-
function doThis(result)
{
var div = document.getElementById("jsonString");
while (div.firstChild)
{
div.removeChild(div.firstChild);
}
var returnedItems = result["result"];
var label = document.createElement("label");
label.innerHTML = returnedItems["matchAddress"] + "<br />"
+ returnedItems["geocoder"] + "<br />" + returnedItems["score"]
+ "<br />" + returnedItems["uTM_X"] + "<br />"
+ returnedItems["uTM_Y"] + "<br />" + returnedItems["lONG_X"]
+ "<br />" + returnedItems["lAT_Y"];
div.appendChild(label);
}
- View the source of a working page
Please Register or Login to use web services by clicking the appropriate link.
.
OGC Service Descriptions and Use
A list of the public OGC services.
Why AGRC requires Registration
AGRC would like to notify web service users of changes to existing services or times
of service interruption due to server maintenance. For this reason, we require a
free registration for unlimited use of these services.
We may also contact our users of new services that are available for public use.
Thank you for your cooperation,
AGRC
|
 |