A geographic information system (GIS) allows anyone to store, manipulate and visualize data displayed on a map for the purpose of intelligent spatial analysis. A GIS can reveal patterns in data, identify relationships and trends, and allow for predictive modeling to understand and plan today for what may impact a business or community tomorrow.
The first section of this article introduces the value that GIS can add to applications, and also discusses the value that the cloud brings to this landscape as a new modality for geospatial analytics.
Maps communicate. Similar to a photograph or a painting, maps can visually punctuate concepts and ideas -- they can record history, model changes, and envision the future. Interpreting patterns and trends depicted by a map can transcend language and cultural barriers and is a powerful tool for critical decision-making.
Although there are many definitions of a Geographic Information System (GIS), for the purpose of this article, a GIS is technology that provides a dynamic mapping system to store and access spatial data for the purpose of performing spatial analyses, querying, and geoprocessing.
There are many different kinds of maps and many different kinds of problems that are solved using maps. Planning growth for a city, providing services to a community, managing public infrastructure, developing or evolving a business, or improving emergency response operations. A GIS allows users to compile and communicate large amounts of information, and through visualization, easily reveal relationships and patterns in user data. GIS maps are built on a formal GIS information model that describes geographic features, founded on map layer concepts, and that can be deployed on the web, to desktop apps, through servers, and to mobile devices.
Traditionally, a GIS was implemented with local data in an on-premise software and hardware. But increasingly, GIS is being leveraged in the cloud. With the advent of cloud computing, consuming and sharing data is quickly becoming democratized, making geospatial analysis and GIS accessible to nearly anyone. Since GIS increases in value with its ubiquity, the platform to deliver intelligent maps to more users and communities adds value not only to those deliverables, but also to the underlying GIS that has been used to generate those offerings, say, through web mapping applications.
Geospatial analytics and mapping
Geospatial analysis and mapping can transform applications. Not just from a user experience perspective and ease of use, but also from a feature advantage perspective. Understanding the impact of location as part of any information, and taking location and geographic information into account as information is analyzed can reveal new insight that was otherwise hidden and hard to understand. Being able to run the usual analysis and add the enriching factor of location and geographic feature analysis transforms a partial vision into a complete understanding. The Esri Maps web application is an example that yields new insight simply through rich map visualization of data.
Additionally, leveraging ArcGIS for Server in the cloud is a critical aspect of making such features available while maintaining control over the resources utilization and optimizing it based on the deployment requirements. ArcGIS 10.1 for Server was built to run efficiently in cloud environments; the architecture was designed to work in a distributed virtual environment enabling users to get the best performance and scalability. ArcGIS for Server can be successfully deployed in IBM SmartCloud Enterprise to support building applications that leverage its mapping and geospatial analytics capabilities.
Developers who want to leverage mapping and geospatial analysis in their applications can find a very rich platform in Esri products that offers them the needed capabilities in the cloud environment. With ArcGIS mapping APIs and application templates that leverage ArcGIS Online and ArcGIS for Server, developers can get started with very powerful mapping applications very quickly. Developers who want to focus on the mobile platform and build applications specific to mobile devices can leverage ArcGIS for Mobile APIs. Additionally, data specialists can leverage ArcGIS for Desktop for data management and creation, in addition to generating more data from very sophisticated analytics.
Developers can get started today by leveraging the variety of APIs, products, and content available from Esri through the Esri Developer Network (EDN) available through an annual subscription and provides a cost-effective way to license Esri ArcGIS products and tools. Whether you're a web, desktop, mobile, or server developer, EDN has the resources you need for building GIS applications and solutions that can be easily deployed in your environment, and in the cloud.
Geospatial analytics in action: Esri Maps
To underscore the value of geospatial analytics for web developers, let's examine an example of a web mapping application leveraging geospatial technologies.
The Esri Maps web application displays different content in a map context, allowing users to filter, aggregate, and display situational data, while protecting the executive from the deep details and information overload, and conveying meaning and understanding in an easy-to-understand, dynamic map form. Through the powerful system of a GIS, critical decisions can be made that can benefit the business, the customer, citizens, and constituents.
The Esri Maps web application provides a geo-spatial context for city incidents and events. Features such as bus routes, demographics, key public facilities, weather, and traffic relate to the events and incidents generated by the IBM Intelligent Operations Center (IOC). Through the visualization of this data, city officials can:
- Understand real-time events and incidents through maps.
- Track trends and see if incidents are increasing or decreasing.
- Engage one common operational picture, accessible 24x7 via any browser.
This web mapping application can be consumed through a web browser on the desktop, as well as, on mobile devices such as smartphones and tablets. Users of the application can view the following through a map context:
- Current events and incidents from the IBM IOC flowing from a variety of citywide sources.
- Demographics/population affected by the events.
- Critical facilities, such as nearby schools and day care facilities; critical resources, such as shelters and hospitals and critical infrastructure assets, such as subways.
- Estimated travel time from incidents, plus performance metrics.
- Social media data such a Twitter and YouTube video feeds.
To view this sample application, take a look at the IOC (IBM Intelligent Operations Center) Dashboard.
Now let's address each of the components on which this mapping dashboard was developed.
ArcGIS for Server provides the capability to create, manage, and distribute GIS services over the web to support desktop, mobile and web-mapping applications. In addition, ArcGIS for Server provides you with a scalable GIS server platform that can be deployed on a single machine to support small workgroups or it can be distributed across multiple servers for supporting enterprise applications.
ArcGIS for Server simplifies access to GIS services for developers, GIS professionals, mobile workers, as well as knowledge workers without any GIS experience. With ArcGIS for Server, users stay in control of their content through centralized management of spatial data, including imagery.
The map service is the way that users make maps available to the web using ArcGIS for Server. Internet or intranet users can then use the map service in web applications, mobile applications, ArcGIS for Desktop, ArcGIS Online, and other client applications. One common use of a map service is to show business data on top of basemap tiles from ArcGIS Online, Bing Maps, or Google Maps. Many other ways to use a map service include:
- To serve dynamic maps
- To serve tiled cache maps
- To serve features
- To serve network analysis functions
- To serve maps or features through KML
- To serve imagery or rasters
- To serve maps for mobile devices
ArcGIS mapping APIs are available in JavaScript™, Microsoft Silverlight®, and Adobe Flex™. Through these different languages web developers are able to leverage the mapping and geospatial analysis web services through their favorite language and its known strengths. For additional ease of use application templates are available.
Additionally, developers can also leverage APIs built for the mobile devices through ArcGIS for Mobile. This variety of APIs has built in capabilities to consume ArcGIS for Server map services, making web and mobile application development easier.
ArcGIS Online is a complete, cloud-based, collaborative content management system that lets organizations manage their geographic information in a secure and configurable environment; ArcGIS Online Map and Geoservices is one of the features of ArcGIS Online that enables developers to leverage a large variety of base maps in their applications. ArcGIS mapping APIs have built in functions to leverage the ArcGIS Online maps, enabling developers to use the base maps as a backdrop/ context for their own content.
For example, developers who want to add a base map that represents worldwide streets to a JavaScript web application using ArcGIS API for JavaScript and ArcGIS Online base maps, can do that using a function as follows:
For a complete list of samples that include using different types of map services, widgets that enable spatial analysis, and application templates, the Esri web-mapping resource center for each of the mapping APIs is rich with information to help developers and users expand in that area. It includes information on all that is needed to build an application, and how to leverage existing application templates through customization.
In the Esri Maps web application, one of the geospatial analytics features is calculating a service area. In this analysis, ArcGIS for Server will calculate every point on the street network that can be reached from a location in a certain number of minutes. So if we request a five-minute service area, ArcGIS Server will calculate all the streets that can be reached from a specified center point and how far a car can get there within five minutes, then display a polygon on the map showing that area.
This ArcGIS API for JavaScript sample that shows service area highlights how simple it is to implement this on the client side. Once an ArcGIS for Server service area web service has been published the JavaScript application can leverage that directly as a task. The following code snippet highlights that part of the sample:
Service area is an example of geospatial analysis that can be leveraged in ArcGIS. Many spatial analysis tools are available as web services, each of them are capable of doing quite complicated operations that take the spatial aspect as a critical part of its calculations.
In our example, the Esri Maps web application is implemented as a JavaScript web application. It leverages multiple web services to enable its features. For mapping capabilities the application leverages the ArcGIS API for JavaScript and map services powered by Esri's ArcGIS Online, and ArcGIS for Server. It's also accessing REST services to get the information about incidents and events from IBM IOC. The Esri Maps web application uses ArcGIS for Server map services to show facilities, demographics, response resources, and transportation and weather information near incidents and events.
Figure 1 highlights the architecture for deploying ArcGIS for Server and the Esri Maps web application.
Figure 1. Deployment architecture
ArcGIS for Server can publish content based on a variety of dataset types and formats. ArcGIS for Server can publish data sets from a file called geodatabase, in a file format for geospatial content. If the data sets do get many updates and require synchronization, it's recommended to keep them in a relational database which is then enabled as an enterprise geodatabase for Esri's ArcGIS for Server.
An alternative view highlighted on the architecture diagram is that of a geospatial data analyst using ArcGIS for Desktop. Using ArcGIS for Desktop, an analyst is able to create and manage geospatial content; the analyst is also able to execute very sophisticated spatial analysis.
Deployment on the IBM SmartCloud
ArcGIS for Server can be deployed as a single machine; it can also be set up in a multi-machine configuration. This can be useful to meet increased capacity needs or to provide redundancy for high availability. The ArcGIS for Server architecture can be deployed in cloud environments very efficiently. We'll cover how ArcGIS for Server can be deployed in the IBM SmartCloud Enterprise environment.
SmartCloud is IBM's public cloud that is available in many locations around the world. Ease of use with cloud infrastructure capabilities is available for users who want to leverage GIS mapping and analysis power. Users will need a SmartCloud account and ArcGIS for Server license (trials are available) before proceeding.
We'll look at the steps for:
- Getting started on SmartCloud.
- Customizing ArcGIS.
- Starting an instance from a customized image.
- Use the SmartCloud catalog to start an instance. The instance should have an operating system; for example, 64-bit Microsoft Windows 2008 R2. Remote Desktop to the instance when it's ready. Download the setup files to a local location. FTP to the local disk of this instance is a good option.
- Run the ArcGIS for Server setup executable and install the software. You can install both Desktop and Server and use the license files to authorize. Before running any other steps, it would be good to create an image.
- To create an image, close all programs and run the Autolog.bat that resides on the instances desktop.
- Using the SmartCloud Management Console, on the Control Panel tab choose Instances. Go to the instance where ArcGIS has been installed and select it. Then click the link Create Private Image.
Figure 2. Creating a private image via the SmartCloud Management Console
Customizing the ArcGIS for Server image
- After the image has been successfully created, you can start setting up the second image that includes a configured service. Start that by copying the spatial (map)data. Spatial data can be located in one of two locations:
- Locally on the C drive. This should be sufficient if you plan to have one running VM of the server at any time.
- Remotely on a shared drive that is common to all machines. This is the setup needed if the server will be deployed in a multi-machine distributed configuration.
- Set up the spatial data in the location that is planned. Start ArcGIS for Desktop and
load the MXD file from that location. (An MXD file is a file that includes references to the spatial data sets used and how the data sets are displayed.) If the spatial data is in a remote location, make sure to open the ports of both machines where it's deployed and where it will be accessed. Also, make sure the Windows firewall opens those ports and make sure to use a network location that will continue to be available, even if the server machines are not available. This guarantees that new machines start from images ready to configure and run.
Figure 3. Setting up spatial data
- Start the ArcGIS Server Manager through http://localhost:6080/arcgis/manager: Choose the option Create New Site. Assign an Administrator account through setting a user name and password. ArcGIS for Server configuration files can be located in one of two locations:
- Locally on the C drive. This should be sufficient if you plan to have one running VM of the server at any time.
- Remotely on a shared drive that is common to all machines. This is the setup needed if the server will be deployed in a multi-machine distributed configuration.
- Using ArcGIS for Desktop, publish a map service to this newly setup ArcGIS for Server site using the data and MXD located over the network. This is done by clicking Share As and then choosing Service.
Figure 4. Publishing a map service
- At this point, you can create another image. You can give this image a name that corresponds to the service published on it. Again, go and run the Autolog.bat that is located on the instance ArcGIS for Desktop. Then choose the instance and select Create Private Image.
- You should be able to see two images created under the images section of the Control Panel tab in the Management Console.
Figure 5. And there are your two images
Starting an instance from a customized image
- You can start an instance from an image that contains a preconfigured service. In this case each instance you launch from the image contains the definition of the service and is ready to use. Once you login to the manager you are prompted to login, rather than create a site.
- After logging into the ArcGIS Server Manager, the same services you published before is already running there. This is a good way to restore a one-machine site configuration.
- For multi-machine site configuration: You can use the same image to add more instances or recover one of the instances. To setup a multi-machine site configuration launch a new instance from the image. When the instance is ready, you can Remote Desktop to it and this time login to the administrator API through the URL http://localhost:6080/arcgis/admin. You can login using the same account you use to login to manager. Then select delete site from the supported operations.
Figure 6. For multi-machine site configuration
- By deleting the site, the machine is ready to join another site. In this case the site to join will be that of the first instance. Go and start the ArcGIS Server Manager, login, and then click Join Existing Site.
- Enter the IP address of the first instance that contains the main site. Then proceed to finish after that. For this operation to work, make sure the firewall on the instance is open on the ports used by ArcGIS for Server, 6080 and 4000-4003.
- When the new instance joins the first instance, they will both be running in the same site forming a cluster. You can confirm that by checking the ArcGIS Server Manager on either or both machines by going to the Site tab and selecting Machines from the side menu.
Figure 7. Confirming the join of the new and first instances
- This approach can be used to add more instances to this running cluster when needed. It also can be used to replace an instance if it needs to be replaced at any time. In addition, simple automations can be built in the image to enable the same changes mentioned in those steps using the ArcGIS Server REST-based Admin API.
- The deployment of a web application can be done on one of the server machines using its IIS web server or it can be deployed on another server. This will depend on the architecture of the deployment and the requirements it will address.
ArcGIS for Server 10.1 is available today and users can deploy it in IBM's SmartCloud using the steps detailed in this article. Developers can also request an evaluation copy of ArcGIS Server 10.1 through a local Esri office. To verify ArcGIS for Server system requirements and supported environments, please check the ArcGIS Resources system requirements.
Additionally developers in the U.S. can purchase an Esri Developer Network (EDN) license online, which includes ArcGIS for Server, Data and Maps for ArcGIS, ArcGIS Runtime and optionally, ArcGIS for Desktop.
For more information, the best place to start is the ArcGIS Resource Center. Developers can find information on how to deploy and configure ArcGIS for Server in any supported environment, in addition to information about the APIs and application templates available. Through the resource center, users can connect with their communities, utilize the forums, and review the blogs. There is also an extensive set of videos for tutorials, product overviews, and presentations from important events.
We'd like to acknowledge these contributors to this article:
- Julio Olimpio, Esri IBM Strategic Alliance Manager
- Sajit Thomas, Esri Senior Solution Engineer
Learn
-
For more developerWorks resources on GIS and geospatial analytics:
- Read the interview Smarter Planet: Integrating mapping and geospatial analytics with business intelligence software with Steve Trammel, Dave Kerr, and Rob Dolan; there's an audio podcast.
- developerWorks has a short series on Building a geospatial information system.
- Learn how to put geospatial data on the map with Mapping and geospatial datasets in Data.gov
- In Conversations on building a smarter planet: Jim Kobielus on Big Data, Big Data expert Jim Kobelius discusses Hadoop's role in helping consume geospatial data; you can watch it at the developerWorks new media blog or listen to the podcast.
- Linux at developerWorks answers the question What is geospatial data and how can I use it?
- Many of the specific resources mentioned in this article are linked from the article; for more information on these technologies, please visit Esri where "Work happens."
-
Learn more about cloud computing technologies at cloud at developerWorks.
-
IBM has encapsulated the most-expert best practices for cloud application deployment and systems configuration in the IBM PureSystems family of expert integrated systems; get started at PureSystems at developerWorks.
- Attend a free
developerWorks event to get up-to-speed quickly on IBM
products and tools as well as IT industry trends.
- Follow developerWorks on
Twitter.
- Watch developerWorks
demos ranging from product installation and setup demos for
beginners, to advanced functionality for experienced developers.
Get products and technologies
-
Access IBM SmartCloud Enterprise.
-
Access more information on IBM PureSystems expert integrated systems.
-
Evaluate IBM
products in the way that suits you best: Download a product trial, try
a product online, use a product in a cloud environment, or spend a few hours
in the
SOA Sandbox learning how to implement Service Oriented Architecture efficiently.
Discuss
- Get involved in the developerWorks
community. Connect with other developerWorks users while exploring the
developer-driven blogs, forums, groups, and wikis.
Marwa Mabrouk is a product manager at Esri, a global leader in GIS. Marwa focuses on server-based products, bringing cloud computing and Big Data to GIS and Spatial Analysis. For over 14 years, Marwa has dedicated her time and attention to furthering new frontiers for GIS. She led the development of the first hosted web services in the industry offering maps online. Following that, she was the technical lead establishing Esri's Managed Services in the Cloud. Marwa holds a Master's degree in Computer Science from University of Louisville, KY; and an MBA from the University of Redlands, California.
Victoria Kouyoumjian has more than 15 years of experience working in the field of geospatial at Esri, and witness to many changes in high-tech during this time. After several years as a product manager for a suite of developer-focused software solutions, she now works as a Senior Business and Technologies Strategist, focusing on emerging technology trends, such as cloud computing, Big Data, and open source, among others, and their influence on the geospatial community. She works with global independent research organizations, Gartner and Forrester, as well as business leaders in information technology. She co-authored The Business Benefits of GIS: An ROI Approach, in 2008; contributes as a regular corporate guest blogger; and writes and presents frequently on topics in tech, as burgeoning trends moves into mainstream.




