ArcGIS v.s. Open Source GIS Solution

ArcGIS Framework Solution


Open Source GIS Solution Framework



Map Cluster Layer Heuristics Algorithm

I am implementing an Cluster Layer with heuristics algorithm  based on Google Maps JS API with reference to MarkerCluster.

It works like this:

1. Set a maximum zoom level Max

2. If map.getZoom() > Max, remove the cluster layer, and display the original point layer

3. If map.getZoom() <= Max, remove the original point layer

If init load on minimal zoom level, query all points out, and store on client side, later use this data to Filter cluster layer markers based on map.getBounds(), i.e. map extent

If map load on between minimal zoom level and Max, query data based on map.getBounds()

4. Filter function

a. get xmin, ymin, xmax, ymax from the map bounds.

b. filter points within the map bounds to redraw Cluster Layer

Understanding ArcGIS

1. What’s GIS? ESRI? ArcGIS? ArcGIS Sever? ArcGIS Desktop? ArcMap? ArcSDE? ArcCatalog ? ArcGIS API(ArcObjects/Java/C#/JavaScript/Flex..ect)? ArcGIS Engine?

A geographic information system (GIS) integrates hardware, software, and data for capturing, managing, analysing, and displaying all forms of geographically referenced information.

GIS allows us to view, understand, question, interpret, and visualize data in many ways that reveal relationships, patterns, and trends in the form of maps, globes, reports, and charts.

A GIS helps you answer questions and solve problems by looking at your data in a way that is quickly understood and easily shared.

Refer to  What is GIS ?

ESRI  is the company who provides a series of ArcGIS products.

ArcGIS  is a comprehensive system that allows people to collect, organize, manage, analyze, communicate, and distribute geographic information.

For any system, there must be at least two sides.
One is the client side (ArcGIS Desktop/Map/View/Catalog/Web) to view/analysis/edit/process data, and the other is the server side (ArcGIS Server) to collect/backup/host data.
Also , there must be APIs for such system to integrate with other systems of various environments. JavaScript/Flex API for browser application development, ArcGIS Engine/ArcObjects for desktop application development (Java or .NET), Android/iOS SDK for native mobile development, ArcSDE (schema) for database development, etc.

See for a full list for development of ArcGIS.

2. How ArcGIS works?

ArcGIS for Server


The following components constitute an ArcGIS Server site:

GIS server—The GIS server does the work of fulfilling requests to your web services. It draws maps, runs tools, queries data, and performs any other action you can do with a service. The GIS server can consist of one machine or many machines working together. The machines all have access to the same data and configuration information, so you can easily grow or shrink the number of participating machines in response to demand.

The GIS server exposes your services through the common web protocol HTTP. When you install the GIS server, you immediately have a set of web services you can use in your apps. You can supplement the GIS server with an enterprise web server for more functionality, such as the ability to host web apps.

GIS servers can be organized in groups, called clusters. Each cluster runs a dedicated subset of services, as configured by the server administrator. For example, you could create one cluster to run all your map services and another cluster of servers (perhaps with higher processing power) to run your geoprocessing services.

Web Adaptor—To integrate your GIS servers with your existing enterprise web server, you can install the ArcGIS Web Adaptor. The Web Adaptor receives web service requests through a common URL (on a port and site name you choose) and sends them to the various GIS server machines in your site.

You can alternatively expose your site through other types of “web gateway” technologies, such as an HTTP load balancer, network router, or third-party load balancing software. In some cases, it may be appropriate to use the Web Adaptor in tandem with your existing load balancing solution.

Web server—A web server can host web applications and provide optional security and load balancing benefits to your ArcGIS Server site. If you just need basic hosting of GIS services, you can use the site that you create after installing ArcGIS Server.

If you need to go beyond simple hosting of services, or if you want to use your organization’s existing web server, you can install the Web Adaptor. The Web Adaptor allows you to integrate your ArcGIS Server site with IIS, WebSphere, WebLogic, and other web servers.

Data server—You can place your data directly on each GIS server, or access it from a central data repository, such as a shared network folder or an ArcSDE geodatabase. Whichever option you choose, the data includes all the GIS resources that have been published as services on the GIS server. These resources can be maps, globes, locators, geodatabases, and so on.

For more details, go to ArcGIS for Server.

ArcGIS for Desktop

You can do lots of task with ArcGIS Desktop, mostly for geo referenced information creation and analysing .

Data Management


With support for more than 70 data formats, you can easily integrate all types of data for visualization and analysis. An extensive set of geographic, tabular, and metadata management, creation, and organization tools are available.

Spatial Analysis


Hundreds of tools for performing spatial analysis are included in ArcGIS for Desktop. These tools allow you to turn data into actionable information and automate many of your GIS tasks.

Mapping and Visualization


Produce high-quality maps without the hassles associated with complex design software. With ArcGIS for Desktop you can take advantage of:

A large library of symbols

Simple wizards and predefined map templates



From simple data analysis to business and customer management to distribution techniques, there is a wide range of applications for which geocoding can be used. With geocoded addresses, you can spatially display the address locations and recognize patterns within the information. This can be done by simply looking at the information or using some of the analysis tools within ArcGIS for Desktop.

Advanced Imagery


There are many ways you can work with image data (raster data) in ArcGIS for Desktop. You can use it as a background (basemap) to analyze other data layers, apply different types of specifications to the image dataset, or use it as part of the analysis.

Data Sharing


The power and convenience of ArcGIS Online is now at your fingertips. With ArcGIS for Desktop (starting at version 10), you can take full advantage of ArcGIS Online without ever leaving the ArcMap interface. Import basemaps, search for data or features, and share information with individuals or groups from a convenient, centralized location.

See a full list of ArcGIS Desktop functionalities.

ArcGIS is a whole eco system in GIS industry. They have vast applications targeting many areas like finance, government, mining, oil and gas, etc. User of ArcGIS technology can be a simple government officer who collects taxed parcel information, or developer for developing some enterprise application.

Clients of an ArcGIS Server site can include any of the following:

Web browsers

Anyone with a web browser and an Internet connection can work with ArcGIS Server services using a web application. These could include ready-made applications, such as the map viewer or ArcGIS Explorer Online, or applications designed using the ArcGIS web viewers or APIs. In either of these cases, end users of these web applications don’t need to have any GIS software installed on their machines.

Mobile devices

Mobile devices such as phones and tablets can access web applications and services published on an ArcGIS Server site. These applications can help you view maps, search for locations, and do GIS analysis from the field. Esri has developed various APIs to simplify building mobile applications with ArcGIS Server web services. These include the ArcGIS APIs for iOS, Android, and Windows Phone.

ArcGIS Explorer

ArcGIS Explorer is a free, lightweight desktop application for data visualization and navigation. You can add your ArcGIS Server services as data in ArcGIS Explorer for a rich navigation and viewing experience. For advanced functionality, you can use the ArcGIS Explorer SDK to develop custom tasks that work with the services.

ArcGIS for Desktop

ArcGIS for Desktop acts as both a consumer of ArcGIS Server services and an administration tool, since some tools allow you to publish items to the server.

Applications that can access services include ArcMap, ArcCatalog, ArcGlobe, and ArcReader. In the Catalog window, you can connect to a GIS server by typing its URL. If the server requires authentication, you must also type a name and password. Once you’re connected, you can point to and click the services you want to use. For example, in ArcMap, you can drag a map service from the Catalog window into the map.

The Catalog window can also act as an administrative interface for an ArcGIS Server site, allowing you to do things like adding folders, adding and deleting services, and registering databases. To get this functionality, you need to enter an administrator name and password when you make the server connection.

ArcGIS Engine applications

ArcGIS Engine applications can use the GIS server in a variety of ways. The simplest is by working with services in the form of data inside map or globe documents. An ArcGIS Engine developer could also design an application that sends data to the GIS server for advanced tasks, such as spatial analysis, that require extensions only licensed on the server machine. Conversely, the application might request data from the server to edit or analyze within the rich user interface of the ArcGIS Engine application.

Information Collector: Jianmin