Learning Objectives:
At the end of the section, learners should be able to:
- Understand the differences between different data formats used in JavaScript Mapping APIs.
- Identify the web services used in ArcGIS Maps SDK for JavaScript, Google Maps API and Leaflet.
- Compare and contrast the ArcGIS Maps SDK for JavaScript, Google Maps API and Leaflet using a comparison table.
Introduction:
JavaScript Mapping APIs offer a multitude of options for creating interactive maps and visualizing location-based data. With so many choices available, it can be difficult to determine the best API for your project. In this section, we will compare three of the most popular JavaScript Mapping APIs – ArcGIS Maps SDK for JavaScript, Google Maps API, and Leaflet – based on their data format and web service capabilities. We will also evaluate the scope and limitations of each API in mapping applications.
Let’s first state the possibilities of the currently available libraries in their latest release (as of January 2023)
Comparison Table:
Data Format:
The following table compares the data formats supported by ArcGIS Maps SDK for JavaScript, Google Maps API, and Leaflet. It highlights the differences between these APIs in terms of data format and provides information on their compatibility with different data types.
Here are explanations of the meanings of the colored circles in relation to JS mapping API support:
- Green circle: This means that JS mapping API fully supports or works with a feature. In other words, it’s a “yes”.
- Yellow circle: This symbol indicates that JS mapping API supports or works with a feature, but a plugin may be needed to enable it. So it’s a “yes, but with a plugin”.
- Red circle: This means that JS mapping API does not provide any support for a feature. In other words, it’s a “no”.
Name | ArcGIS Maps SDK for JavaScript | Source | Google Maps JavaScript API | Source | Leaflet | Source |
Data Formats | ||||||
Raster | ||||||
Geotiff TIFF (Tagged Image File Format) | ||||||
GIF (Graphics Interchange Format) | ||||||
JPEG (Joint Photographics Experts Group) | ||||||
PNG (Portable Network Graphics) | ||||||
WebP | ||||||
Vector | ||||||
CSV (Comma Separated Value) | ||||||
GeoJSON (Geographic JavaScript Object Notation) | ||||||
Geopackage | ||||||
GML (Geography Markup Language) | ||||||
GPX (GPS eXchange Format) | ||||||
KML, KMZ (Keyhole Markup Language) | ||||||
Mbtiles | ||||||
RSS, GeoRSS (Rich Site Summary) | ||||||
SVG (Scalable Vector Graphics) | ||||||
TopoJSON (Topology JavaScript Object Notation) | ||||||
WKB (Well-Known Binary) | ||||||
WKT (Well-Known Text) | ||||||
XML (Extensible Markup Language) |
Web Services:
The following table compares the web services used by ArcGIS Maps SDK for JavaScript, Google Maps API, and Leaflet. It provides an overview of the different web services offered by these APIs and highlights their differences in terms of geocoding, routing, and feature services.
Here are explanations of the meanings of the colored circles in relation to JS mapping API support:
- Green circle: This means that JS mapping API fully supports or works with a feature. In other words, it’s a “yes”.
- Yellow circle: This symbol indicates that JS mapping API supports or works with a feature, but a plugin may be needed to enable it. So it’s a “yes, but with a plugin”.
- Red circle: This means that JS mapping API does not provide any support for a feature. In other words, it’s a “no”.
Name | ArcGIS Maps SDK for JavaScript | Source | Google Maps JavaScript API | Source | Leaflet | Source |
Data Formats | ||||||
Raster | ||||||
WMTS(Web Map Tiled Service ) | ||||||
WMS (Web Map Service ) | ||||||
Register Service | ||||||
WCS (Web Coverage Service) | ||||||
Vector | ||||||
WFS (Web Feature Service) |
Scope and Limitations:
ArcGIS Maps SDK for JavaScript:
Google Maps API
Leaflet
Scope: ArcGIS Maps SDK for JavaScript supports a wide range of data formats, including CSV, KML and GeoJSON. It also has built-in support for many industry-standard data formats such as Esri File Geodatabase, GeoPackage, and OGC WMS and WMTS. This makes it ideal for complex mapping applications that require advanced data visualization and analysis capabilities.
Scope: Google Maps API supports several data formats, including KML, GeoRSS, and GeoJSON. It also has built-in support for Google Fusion Tables, which allows users to easily visualize large datasets.
Scope: Leaflet supports a wide range of data formats, including GeoJSON, TopoJSON, and KML. It also has plugins available for supporting other data formats, such as GPX and CSV.
Limitations: While ArcGIS Maps SDK for JavaScript has extensive data format support, it may not be compatible with all data types. In some cases, additional software or plugins may be required to convert the data to a supported format.
Limitations: Google Maps API does not support all data formats, and users may need to convert their data to a compatible format. Additionally, Google Fusion Tables are being phased out, so users may need to find an alternative way to visualize large datasets.
Limitations: While Leaflet has extensive data format support, it may not be able to handle large datasets as efficiently as other APIs. Users may need to implement their own optimizations to handle large datasets. Additionally, not all plugins are maintained or up-to-date, so users may need to be careful when selecting plugins to use.
Overall, the scope and limitations of each JS mapping API for data representation and thematic methods should be considered carefully based on the specific needs and requirements of the project.
Conclusion:
In conclusion, choosing the right JavaScript Mapping API for your project requires careful consideration of your specific requirements. In this section, we have compared three popular APIs – ArcGIS Maps SDK for JavaScript, Google Maps API, and Leaflet – based on their data format and web service capabilities. Each API has its own strengths and limitations, and understanding these can help you make an informed decision about which API to use. Whether you need advanced visualization and analysis capabilities, simple integration with other Google services, or a lightweight and flexible solution, there is an API that can meet your needs. By taking into account the information provided in this section, you can confidently select the best JavaScript Mapping API for your mapping application.
References:
- Antoniou, V., & Morley, J. G. (2008)[Online]. Web Mapping and WebGIS: do we actually need to use SVG? In SVG Open 2008 Conference Proceedings (pp. 119-127). Available online: https://www.researchgate.net/publication/235040983_Web_Mapping_and_WebGIS_do_we_actually_need_to_use_SVG
- Alakuijala, J. (2012). [Online] WebP Lossless Bitstream Specification. Google. Available online: https://developers.google.com/speed/webp/docs/webp_lossless_bitstream_specification
- CompuServe (1990) [Online]. Graphics Interchange Format. Available online: https://www.w3.org/Graphics/GIF/spec-gif89a.txt
- Concolato, C., Klemets, A., and Kerr, P. (2019) AV1 Image File Format (AVIF). The Alliance for Open Media. Retrieved from https://aomediacodec.github.io/av1-avif/
- Esri. (2006)[Online]. Comparing Vector and Raster Mapping for Internet Applications. ESRI White Paper. Available online: http://downloads.esri.com/support/whitepapers/ws_/awsvector-raster-mapping_0307.pdf
- Farkas, G. Applicability of open-source web mapping libraries for building massive Web GIS clients. J Geogr Syst 19, 273–295 (2017). doi:10.1007/s10109-017-0248-z
- Farkas, G. (2019). Possibilities of using raster data in client-side web maps. Transactions in GIS, 00, 1-13. doi: 10.1111/tgis.12588
- Freeman, H. (1974). Computer processing of line-drawing images. Computing Surveys, 6, 54-97. doi: 10.1145/356625.356627
- Gaffuri, J. (2012). Toward Web Mapping with Vector Data. In International Conference on Geographic Information Science (pp. 69-83). Springer. doi: 10.1007/978-3-642-33024-7_7
- King, J. (2001) [Online] Why color management? Adobe Systems Incorporated. Available online: http://www.color.org/whycolormanagement.pdf
- Mahammad, S. and Ramakrishnan, R. (2009).[Online] GeoTIFF – A standard image file format for GIS applications. Geospatial World. Available online: https://www.geospatialworld.net/article/geotiff-a-standard-image-file-format-for-gis-applications/
- Roelofs, G. (2003). PNG: The Definitive Guide (2nd ed.). O’Reilly Media. doi: 10.1007/BF02940959
- Williams, C. (2019). Raster Formats and Sources The Geographic Information Science & Technology Body of Knowledge (4th Quarter 2019 Edition), John P. Wilson (Ed.). doi: 10.22224/gistbok/2019.4.11