Esri and PubNub Collaborate on Real-Time Location Strategy Technology for Developers of Next Gen Mapping and Analytics Apps
In San Francisco this Tuesday? Join Esri & PubNub for a networking social! Come enjoy free drinks and apps (the ones you can eat) at this invite only event and learn how the power of Esri + PubNub Functions makes it … Continue reading
Now available to your Runtime application projects – StreetMap Premium data for display, routing, and geocoding. Do you need to take your ArcGIS Runtime application offline, so that it works in a disconnected environment? Need a map that’s stored locally? … Continue reading
With almost every new release of ArcGIS Desktop and ArcGIS for Server, there are changes that aim to improve software quality and performance; sometimes, these changes require you to update your workflows. The improvements and deprecations made for geocoding in ArcMap 10.5 and ArcGIS … Continue reading
Have you ever needed to know the distance from central hub locations, such as bases or offices, to groups of related assets, such as equipment or workers? This blog post outlines a workflow and some tools for solving this type … Continue reading
The new Geonames Tools toolbox is available for download from Arcgis.com. The Geonames Tools toolbox is an Esri Defense toolbox for intelligence analysis. The zip file contains the tools and a template geodatabase with the schema needed to create a gazetteer style locator from National Geospatial-Intelligence Agency (NGA) UTF-8 encoded tab-delimited geonames text files.
The package includes two tools, with supporting scripts, and instructions for using the tools to create your geonames gazetteer locator. The first tool loads data from a UTF-8 encoded, tab-delimited geonames text files into a feature class, updating the Admin, Country, and Feature codes in the process. The second tool creates a gazetteer style locator from the feature class. This locator can be used on a local machine, or published via ArcGIS for Server for use by multiple clients.
This toolbox is designed to work with the files from NGA, available at:
Geoname files from other sources with different formats are not supported.
We have geocoded a spreadsheet and styled an informative map that comes alive in the web environment. But why are we making web maps in the first place? Is it because we want to show off the latest capabilities of ArcGIS online? No! We are trying to solve a problem. The problem we had was: spatially enabling text-based information that is locked down in an organizations’ spreadsheet, without access to specialized skills or software. We have successfully authored a map based on this spreadsheet, now we want to SHARE the map and unleash its potential with a variety of web mapping applications. Then we will allow our audience, the users of our maps, to utilize some interesting GIS
capabilities. How are we going to do this? There are several methods, depending on your needs:
- Socializing your web map
- Embed your web map
- Create a presentation for your web map
- Design your own stand-alone web mapping application
Socializing your web map
There are many ways to share your map with others. The simplest way is to share a URL such as http://bit.ly/sBau3H. It’s easy to “socialize” or promote your web map using the Facebook and Twitter buttons on the web map description page (seen in screenshot above) once the map has been made public. This can also be done from the map itself in the Web Map Viewer or ArcGIS Explorer Online by clicking on the respective buttons:
By sharing our map in this way, we allow others to view and collaborate on projects that provide additional context or meaning to our original web map. Once shared, another user could add a Map Service using the “Search for layers to add” functionality. Here (below) we used the keyword “demographics” to search for what layers are freely available using ArcGIS Online. We added the USA Tapestry Segmentation thematic map, which classifies U.S. neighborhoods into 65 segments based on their socioeconomic and demographic composition. This could be useful for describing how community-oriented policing fits into the community itself.
Embed your web map
Another way that web maps can be useful is if we want to embed it into an existing website or blog; again we use the Share button and simply copy and paste the map’s HTML code into the website. This may be a job for your agency’s web master or administrator, but you can see what this might look like at the membership page for Major Cities Chiefs or embedded in the blog as we have done here.
Create a presentation for your web map
Sometimes, the best way to share spatial information is through a story. As the proverb goes—“Tell me a fact and I’ll learn. Tell me a truth and I’ll believe. But tell me a story and it will live in my heart forever.”
With ArcGIS, you can use your web map to create and give a dynamic presentation that tells an interesting and informative story. This presentation capability is map-centric and has been deployed by Law Enforcement agencies for briefings, both informative and tactical in nature (CompStat, Community Briefings, etc.). This has been helpful for agencies in lieu or in conjunction with traditional presentation formats (like Microsoft PowerPoint). Here we will use ArcGIS Explorer Online in presentation mode to do just that—first, open your web map in ArcGIS Explorer Online. Once your map is open in ArcGIS Explorer Online, click the Presentation tab:
To tell your story, capture new slides, change title headings, switch out basemaps, and add other layers as you wish. When you present your story, you will have a presentation to deliver your message from any computer or even a mobile device. Of course, this presentation can be shared via this URL hyperlink.
Design your own stand-alone web mapping application
Web mapping applications allow you to bring your web map to life. The ArcGIS Explorer Online presentation is one form of an ArcGIS Web Mapping Application. Again, using the Share button (see below) in the ArcGIS Online Viewer, we can now create our own web application with customizable templates and ArcGIS Online as our web host.
We can preview our web map in each of these applications, download the source code (for web programmers), or publish the web application on ArcGIS Online. Now you can share your web mapping application and configure it as you see fit. Here we used the ‘Chrome—Twitter’ template to produce an application that can be useful for monitoring the Occupy Wall Street movement in our area. One way police agencies can leverage social media is to monitor large gatherings and prepare for emergencies ahead of time. Other web mapping application templates allow you to edit GIS data, visualize time enabled data, and view maps side-by-side. Keep an eye on the templates, since new ones are added regularly.
It all started with a spreadsheet and now, GIS is everywhere!
To summarize this blog series for Public Safety users, we have just performed and outlined the following steps to become a web-mapping pro:
The ArcGIS system is pervasive and you have just utilized a critical component. This approach is scalable and will work to solve problems at an individual level all the way up to integration with your Organization in the very near future! Happy sharing and please leave comments and questions for your authors.
Contributed by Rachel Weeden, Solution Engineer Manager, and Paul Doherty, Public Safety Technology Specialist
With the latest capabilities of ArcGIS Online, it’s easier than ever for organizations that don’t traditionally use GIS software to reap the benefits of simple web maps. Not to mention this software is available at no cost. One area where we’ve seen this become popular is with professional organizations-groups that want to highlight their membership using points on a map. These groups aim to create communities for public safety practitioners, whether they are comprised of the largest metropolitan police agencies in North America or Sheriffs representing US County jurisdictions. One way to do this is by sharing information about their constituents-for example, providing both the casual visitor and registered user to the site with a way to view members and where they’re located. This is one small, but meaningful way to use GIS capabilities to support an organization’s mission. Continue reading
So, let’s say you’ve downloaded the Military Overlay layer package and created military feature templates for your units. How will you get some existing data into those features?
In this blog post I’ll walk you through the process of taking a table of military units and putting them into a Units feature class. I’ll start by creating intermediate features, then I’ll match the attribute values between the input data and the military features geodatabase, and then I’ll use the Append tool to load the data.
Part One: Create intermediate features from a table
The first thing to do is convert the table into features; point features to be exact. If you already have points (or lines or polygons) you can skip this step. In this case I’ve got a table of units, called LocalUnits.dbf. This table contains the MGRS coordinate location for each unit, as well as a name and unit type. This is what it looks like if I open it up in a spreadsheet.
Since each unit has a coordinate value, I can represent the table spatially. I’ll use the Geocode Addresses tool to read the MGRS coordinates and convert the table to points.
To find the Geocode Addresses tool, I’ll use the ArcGIS Search window (To get there in ArcMap, click the Windows menu and click Search).
Click Geocode Addresses in the Search window to open the tool.
I’ll make LocalUnits.dbf my Input Table and select MGRS as my Input Address Locator.
The tool should pick up MGRS as the field name for these coordinates.
I’ll make the output a shapefile called LocalUnitPoints.shp, then run the tool.
Part Two: Match the schema
Now I’ve got some points that I can load into my Units features. Before I do this, I need to compare the field names of my source features, LocalUnitPoints.shp, and my target features, Units.
Why? If I don’t know how the field names of the source and target features match up, I could end up loading the points but not their attributes. If that happened I’d have a feature class of units, but no idea what units the points represented.
Let’s take a look at the LocalUnitPoints fields and the target Units fields. The original table had three fields: MGRS, Name, and UnitType. I just used the MGRS field in the geocoding tool to make these points, so I won’t need to keep it. The shapefile also has several additional fields created by the geocoding process (Status, Score, Match_type, etc.) that I won’t need.
The two fields I do need are Name and UnitType.
The Name field holds the unit names. In the Units feature class the field that holds this information is called UniqueDesignation. When I append the data I’ll make sure that the Name data will go into the UniqueDesignation field.
The UnitType field tells me the type of each unit. In the Units feature class, the SymbolName field holds this information. When I append the data from LocalUnitsPoints into the Units feature class, the UnitType data should go into the SymbolName field.
OK, now that I’ve determined how the field names match up, I need to make sure that the field values match. Why? Well, for one thing, both of the fields I’m interested in hold text; I couldn’t load that type of data into an integer field. The SymbolName and UniqueDesignation fields are also text fields, so that’s not a problem. However, the data in the SymbolName field is used by ArcMap to determine which feature template each military feature belongs to, and the symbol used to draw the feature.
If the values in SymbolName don’t match the template names, all of the features will be drawn with the generic “<all other values>” symbol.
So, let’s compare the input UnitType values to the feature template names that ArcMap will look for in SymbolName. Here’s the attribute table of LocalUnitPoints.
To see the values that have been assigned for the feature templates I’ll right-click on Units, point to Edit Features, and click Organize Feature Templates.
The right-hand panel shows the names of the feature templates that have been defined. These are the values that SymbolNames will need in order to automatically match the units to their symbols.
Comparing the values, I see that they are close, but not exact matches.
If I load the data as it is, the values will not match and the units will all be drawn with the <all other values> symbol.
Four of the values are close; I’ll fix these by changing the values in the LocalUnitPoints features. The fifth value “Engineer Platoon” doesn’t have a corresponding feature template in the Units features. The way to fix this is to add a new feature template for Engineer Platoons. Creating new feature templates for military features is covered in this blog post and this Help topic. I’ll go ahead and deal with the other problem, then load the data.
There are various ways to do this. For a small dataset I could simply edit the values, though that method doesn’t scale well; for larger datasets it can be time consuming and may introduce typographical errors. I could select all of the “Infantry Platoon” values and then calculate them to be “Infantry Platoon F”, repeating the process for each type of unit, but that would also take a while.
In order to get it done quickly, I’ll use the Calculate Field tool and a chunk of Python script to change the values to match the input templates.
To do this, I open the Calculate Field tool (I searched for it, like I did for the Geocode Addresses tool), set the Input Table to LocalUnitPoints, and the FieldName to UnitType.
Since I’m going to use my own Python script, I’ll set the Expression Type to PYTHON_9.3.
The Expression is:
The Code Block is:
if unitName == “Infantry Platoon”: return “Infantry Platoon F”
if unitName == “Armor Company”: return “Armor Company F”
if unitName == “Cavalry Platoon”: return “Cavalry Platoon F”
if unitName == “Air Defense Platoon”: return “Air Defense F”
else: return unitName
After I run the tool I can see the changed field values.
Part Three: Append the data
Now that the values match, I’m ready to add the data to the Units feature class. I’ll do that with the Append tool. I set the Input Dataset to LocalUnitPoints and the Target Dataset to Units.
Since the input and target dataset field names don’t match, I’ll use the NO_TEST option for Schema Type. This lets me manually match the fields.
To match a field, I right-click the target field name (UniqueDesignation) and click Add Input Field.
In the Add Input dialog box I choose the source field (Name) from the fields of the input feature class.
I use the same method to map SymbolName to UnitType.
After I’ve run the Append tool I can check the Unit table to see that all of the rows converted. Looking on the map, I can see that all but one of the units are drawn with their correct feature template symbol.
Check out the post on creating new feature templates to see the method you’d use to create the Engineer Platoon template. If you name it “Engineer Platoon F” (which would be consistent with the other templates), remember to update this feature’s SymbolName attribute to be “Engineer Platoon F” too.
Content provided by Matt Funk
Are you fed up with manually translating your coordinate data between decimal degrees, UTM Meters, and MGRS coordinate strings?
We’re excited to report that ArcGIS 9.4 beta 2 (soon to be ArcGIS 10) supports the Military Grid Reference System (MGRS) as part of core ArcGIS.
Now you can get MGRS coordinates for a clicked location using the Identify tool or the Address Inspector tool,
and show the current MGRS coordinates in the ArcMap status bar as you move the pointer over the map.
You can also find locations from their MGRS coordinates using the Find Features tool, the Go To XY tool, and the Address Input text box on the Geocoding toolbar.
Because we’ve built an MGRS locator for the Geocoding tools, you can now geocode tables of MGRS locations to show the results in the map and create new feature classes. You can also reverse geocode a set of points to get a new point feature class with the MGRS locations stored as an attribute.
You can map MGRS locations with the ArcMap geocoding toolbar, or geocode in bulk with the geoprocessing tools. You can even use the MGRS locator to interpret partial MGRS coordinates, for example where the Grid Zone Designation or 100,000 Meter Square Identifier are left off. You can pick how you want the locator to fill in that missing information.
Last, but not least, now you can type MGRS coordinates in any of the editing tools that allow you to choose the units in which coordinates are entered, such as the Absolute X,Y tool and the Construct Geodetic tool.
We think that these enhancements will greatly streamline the collection, processing, and communication of location data for our Defense and Intelligence users.