Archive

Posts Tagged ‘OpenLayers’

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 :

https://docs.google.com/spreadsheets/d/1w5czPofOXVfMGiCx0wjhNLB_dJnYyw3U5yTCrn13mOw/edit?usp=sharing

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

1. Google Maps JavaScript API
2.Leaflet
3.ArcGIS API for JavaScript
4.Bing Maps JavaScript API
5.OpenLayers

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…

After a long period and Geo Products I Used in 2011

January 4th, 2012 Comments off

It has been a very long time (almost a year) since I wrote a blog post.

It was a great year both in private and work life. First off all, I got married and this is the greatest thing in my life. It was a busy period to do a wedding ceremony but it was worth it. I would like to thank God from here to join me and my wife together 🙂

Anyway, lets come to main topic which interests this blog : my work life. It was also a good year for my development side.

My development side started to move back to Open Source projects again after an “ESRI” period. Don’t get me understand wrong, ESRI has a great products both on desktop and server side and we are still using ESRI products in our environment, but the license costs are getting more and more even for large organisations like us.

There is also a Google Maps side for this story. I’ve been using Google Maps since it has an API and I’m also a “Qualified Developer for Google Maps JS API”, but the announcement of Google that Google Maps is no more free makes us to think about like other developers or companies. Google Maps has still good map coverage than Bing Maps or OSM, but we had to start looking for the alternatives. We are still using Google Maps JS APIs in our products, but we are thinking more than ever to shift from the API.

Last part of my development life is the Mobile. Mobile is getting more important and we don’t want to get behind from the technology. Most of our managers got an iPad and we started to build apps for mobile, especially for iOS. Some of them may be remember that I have one native and one web app for mobile, which are iExtMap and ExtMap Touch, respectively. I know some people expect to update these products, but I can’t find any time to update them. Hope I can find time this year to update them 🙂

I wrote a summary about 2011 and I just want to finish my post with the popular geo products I’ve used in 2011. I’ll also write about them if I find time.

Wish you all a good year 😉

Geo Products I used in 2011
Desktop :
– ESRI ArcMap (I can’t remember the new name) with Arc2Earth pluging :
Still great at working and symbolizing the data. Arc2Earth is a also a great product to export tiles and GeoJson to our web products.
– QGIS :
Works great with PostGIS to import/export data

Server Side :
– Oracle Spatial (as DB) :
Nothing to say about it, it’s still the best option in Enterprise level in Turkey due to support
– PostGIS (as DB) :
It is my new favorite to work with easily, but the support in Turkey is not good. So we have confusion to switch over in enterprise level.
– ArcGIS Server :
It is the complete product that you can do everything, but licensing is very expensive in Turkey if you want to make a load-balances structure with 6-10 machines.
– Tilemill (can be in desktop side too) :
This is my new favorite tool used for export tiles due to its UTFGrid support. MBTiles is also a great spec from DevelopmentSeed. Thanks a lot for these GREAT TOOLS, hope 2012 will be a great year for you.

API Side :
– Google Maps JS API v3 :
Still the king of APIs due to its easy use and documentation. Integration with Fusion Tables is a great plus the API.
– Leaflet :
This is also my new favorite with TileMill. The compactness and performance is killing me. I would also want to thank CloudMade to make this available.
– OpenLayers :
This was my old favorite. It has support for almost any thing in GIS but this also make it very slow library if you compare it with Google Maps API or Leaflet.
– ESRI JS API :
I’m very new to this API, but I have to be familiar with it 🙂 One thing is annoying that the usage of DOJO Toolkit with the API.

Presentations I Gave Until Now

November 26th, 2009 Comments off

This post is related to presentations and workshops that I gave until now.  All of them is related to Geo issues such as Google Maps API, Google App Engine, ArcGIS Server and its APIs, Arc2Earth and Microsoft Virtual Earth (aka Bing Maps).

  • Life Cycle of Mashups at DSI – Ankara / Turkey – 29 May 2009 (Turkish) (Presentation)
  • Enterprise Mashups in the Clouds – Abu Dhabi / United Arab Emirates – 28 Apr 2009 (Presentation)
  • Google Maps and Enterprise Mashup Development (Workshop) – Ankara / Turkey – 21 Dec 2008 (Turkish) (Presentation Part-1 Part-2 Part-3 Part-4)
  • Developing Web Based GIS Applications from the Google Maps Approach  – Ankara / Turkey – 21 Nov 2008 (Turkish) (Presentation)
  • (ESRI European User Conf.) Developing Hydrology Mashups with ArcGIS Server 9.3 – London / UK – 30 Oct 2008 (Presentation)
  • Developing Web Based GIS Applications with “Google Maps” or “Microsoft Virtual Earth – Trabzon / Turkey – 31 Oct 2007  (Turkish) (Presentation) (Paper)
  • (ESRI European User Conf.) Web-based Water Information System Using GIS in Turkey – Stockholm / Sweden – 28 Sep 2007  (Presentation)

ExtMap website is opened…

June 24th, 2009 Comments off

I have been working on ExtMap (previously known as Summit ExtMap)  versions and its website. Today I ‘m proud of announcing the three versions of ExtMap and its website. As it is stated, I changed the name of project from Summit ExtMap to ExtMap and the versions are as follows:

  • ExtMap JS (ExtJS, Google Maps API and ArcGIS JavaScript Extension for the Google Maps API)
  • ExtMap REST (ExtJS, Google Maps API and ArcGIS Server REST API)
  • ExtMap OL (ExtJS and OpenLayers)

JS ve REST versions are mostly the same as Summit ExtMap, but OL version has some missing features which will be done soon. The website of ExtMap is also available as

http://www.geowebdeveloper.com/extmap

Please do not hesitate to ask any questions or suggestions related to ExtMap.

Categories: Ext JS, ExtMap, GeoWeb, OpenLayers Tags: , , , ,

ArcIMS support for OpenLayers

April 13th, 2009 Comments off

Today, I’ve looked at OpenLayers examples and surprised about the new additions. Now, OpenLayers support ArcIMS layers. I know some people are moving to 9.3, but some are still preferring the IMS version due to its simplicity and performance. The best client for IMS is FlashIMS as far as I know, but now you can add your IMS layers to OpenLayers. This enhances the possibilities to add different layers to OpenLayers with IMS.

Examples of OpenLayers with IMS:

1- ArcIMS Example

2- ArcIMS Thematic Example

Thanks to developers of Avencia.

Categories: GeoWeb, OpenLayers Tags: ,

Thank you for your votes

April 6th, 2009 Comments off

Please forgive me about this late post. I want to thanks everyone who voted for me at ESRI Developer Summit Mashup Challenge.  I hope all you like the “Summit ExtMap” mashup framework and use it in your projects.

The reason for this late post is “Summit ExtMap“, because I still working on framework to add some new features. The coming release will be seperated to 3 different versions as

  • Summit ExtMap (for ArcGIS JS API Extension for Google Maps)
  • Summit ExtMapRest (without ArcGIS JS API, works only with ArcGIS REST API and Google Maps API)
  • ExtOL (Ext JS with OpenLayers supporting ArcGIS REST API)

You can choose the version suited for you. Please do not hesitate to ask for questions, new features and bugs.

Alper.

Categories: ExtMap Tags: , , , , , , , ,