Archive for June, 2014

Book Review : Administering ArcGIS for Server

June 10th, 2014 Comments off

This is the 3rd book review in my blog. Of course, it is related to GIS stuff 🙂

Name of the book is “Administering ArcGIS for Server” which is a complete guide to ArcGIS for Server (even I can’t adopt the new naming scheme of ESRI).

The author of the book “Hussein Nasser” is also a winner of ESRI DevSummit Code Challenge in 2007 like me 🙂 His career and success proves that he has deep knowledge of ArcGIS for Server. In general the book is about ArcGIS for Server 10.x series which the most up to date release and there are 8 chapters with 2 appendixes. Let’s explore the chapters in details :

1- Chapter 1 : Best practices for Installing ArcGIS for Server :
This is the beginning of the book and it is quite normal to start with installing the program. This part is quite adequate on ArcGIS for Server, but I wish there is a extra chapter or part for installing ArcSDE with multiple database types. The most problematic part about installing ArcGIS for Server is the integration of ArcSDE in my experience even though I can’t work much on ESRI stuff nowadays 🙂

2- Chapter 2 : Authoring Web Services :
As it is name implies, this part is about web services on ArcGIS for Server. This part covers both ESRI related and OGC standard services.

3- Chapter 3 : Consuming GIS Services :
You have installed the ArcGIS for Server and publish some services, so it is time to consume them. This part covers the consuming of services in various software or APIs, which are ArcMap, QGIS, Google Earth, ESRI ArcGIS JavaScript API. Also there is a section about editing.

4- Chapter 4 : Planning and Designing GIS Services :
Now you know the basics of ArcGIS for Server, it is time for the real life case studies to plan and design your services.   The case study is about a locator services for restaurants with ArcGIS for Server.

5- Chapter 5 : Optimizing GIS Services :
Chapters are getting more advanced as the book evolves 🙂 This is one of the most important part for advanced user. Even you have knowledge about previous chapters, you will find some info or trick in this chapter about optimizing your services.

6- Chapter 6 : Clustering and Load Balancing :
This is also like the Chapter 5. If you want a sustainable web services, then you should check this part of the book. It gives great information about the continuity of your GIS services.

7- Chapter 7 : Securing ArcGIS for Server :
You setup everything but your services are default open the public. In order to protect your data, you should secure it with the mechanisms integrated to ArcGIS for Server. This chapter is dedicated to security.

8- Chapter 8 : Server Logs :
This is also quite important part to find the bottlenecks of problems with the ArcGIS for Server, because logs keep the journal of the ArcGIS for Server and tell you the problem if there is any. This part is a serious way to learn on tracing the bugs or problems about your services.

As it is written about, the book covers all the parts of ArcGIS for Server and it is a great book for people who work with ArcGIS for Server. I’m quite happy with the book except the need for ArcSDE installation and management with ArcGIS for Server. May be this is out of the book scope, but it is the most important complementary thing for the book.

As a result, I suggest this book to people who works with ArcGIS for Server without any doubt. You can also find the PROs and CONs of the book below.

+ Update to date release
+ There are some scenarios to use in your projects.
+ Advanced usages of ArcGIS for Server is also included.
+ “Selecting the Right Hardware” and “Server Architecture” parts are good both for newbies and professionals

– PostgreSQL/PostGIS support is much better than MSSQL 🙂
– ArcSDE installation could be a better.

You can get the book from this address.

Categories: GeoWeb Tags: ,

Web Mapping APIs’ Vector Performance Comparison

June 1st, 2014 Comments off

It’s again a lot time since I wrote a blog post. I’m in a very busy schedule these days so I can’t find any time to write or share except Twitter. Last week I joined a conversion with Zev Ross and Mano Marks on Twitter about web mapping APIs’ vector performance. Then I realized that I wrote a paper for a national GIS conference in September 2013 and I have not shared with any of the results. After the conversation, I started writing this blog post. Before start, I want to emphasize that results of the paper should not be a real guide nor a real usage test.

This paper only shows the vector loading test results of 5 mapping APIs: Google Maps JS API v3, Bing Maps JS API v7, ESRI ArcGIS JS API v3.6, Leaflet v0.6.4 and Openlayers v2.13.1. All tests are done on Windows 8 OS due to lack of Internet Explorer (IE)  in other operating system. IE 10 is used as a main IE test browser and IE 7, 8 and 9 are tested in compatibility modes in IE 10. Chrome (v29), Firefox (v23) and Safari (v5.1) also used as an other test browsers.

For testing purposes, a province of Turkey (MuÄźla) is used in GeoJSON format in following vertice numbers : 40K, 10K, 5K, 2K, 1K and 500. Some APIs’ have native GeoJSON support, but to be fair in reading the GeoJSON, a simple JavaScript function is written and used in all tests in different APIs. After loading the GeoJSON file, all vertices in polygon are iterated through and an array of points is created. Then this array is added to map. This process is also tried 30 times to get average load times. Then each test on each browser is also run 5 times to make sure the values are normalized. At the end we have  210 tests for each Mapping API (5 Reloads X 7 Different Browsers X 6 GeoJSON files) and province polygon is loaded for 6300 times to get these results. The results of all the tests are shared as a Google SpreadSheet from the following address :

As a result of the test, Mapping APIs are ranked as follows :

1. Google Maps JavaScript API
3.ArcGIS API for JavaScript
4.Bing Maps JavaScript API

As it is stated before, this is a outdated test but it gives the idea. Openlayers is placed at the end but it is the most outdated API which also works in IE 6. At the time when we are testing APIs, Openlayers v3 is still in beta (or alpha, I can’t remember) phase and we skipped it, but we are sure that V3 will get much much better results in the following tests 🙂

Google Maps JavaScript API V3 is the best for vector presentation, but due to its proprietary license the second winner Leaflet can be a good candidate as a mapping API. Even though I’m a co-author of a Google Maps JavaScript API Cookbook, I used all of the APIs in different cases and each one has different advantages and disadvantages. These tests only shows the vector loading performance of mapping APIs and this is only one side of web mapping.

As a result, I’m not a professional test guru and there may be problems with my testing style, but these tests are only shared with you to give a rough idea to use mapping APIs when you are dealing with vector datasets. There are lots of things to consider when choosing a mapping API.

Hope to do these tests again with the new versions of mapping APIs…