Introduction to JS-GIS

Table of Contents

About this document and the JS-GIS project

This document describes the JS-GIS (JavaScript _Static_ Geographic Information System) data model and JavaScript API. It is intended for programmers who wish to create user interfaces to the geographic data exported from a GIS system according to the JS-GIS data structure, as well as for programmers who would like to implement a JS-GIS publisher for a particular GIS system.

The up-to-date online version of this document can be found at Also, check the website for downloadable versions and examples.

The JS-GIS library has been written during the development of the WebStaticMapper project. WSM was initially conceived as a tool for exporting geographic data from MapInfo(R) maps into data readable by a JavaScript-enabled browser. Later on, I split up WSM into two separate projects: a public domain reader, JS-GIS, and a proprietary commercial software, WebStaticMapper.

JS-GIS open source project is hosted by SourceForge. Every kind of contribution is welcome, from testing the library on various browsers, to sending feedback like bug-reporting, notes, requests or impressions. Please visit the project homepage at if you are interested.

What is JS-GIS?

JS-GIS is a low-cost, effective way to deploy geographic data for many different possible uses. It can be used to distribute GIS data on CD-ROMs as well as on web sites and intranets. All the users will need to read your maps will be a JavaScript and frame enabled web browser.

With JS-GIS, the user is able to:

Please have a look at the JS-GIS sample page at to see how a JS-GIS data browser looks like.

Basically, JS-GIS consists of:

GIS data is exported (published) into the following formats:

The geographic area of interest is subdivided into tiles as if it were a chessboard; this subdivision is done for each of the zoom levels defined by the publisher. The export files are generated according to nomenclature and disk location rules: tiles are located according to the zoom level and the map theme and named after row and column position in the "chessboard", while HTML data files are referred by means of the map objects IDs (primary keys), so they usually need to be named following the objects IDs.

The JS-GIS API allows to build a user interface to the published data, by means of:

The JS-GIS engine allows for some dynamic operations, such as geographic indexing, point location, dynamic vector object loading (limited to points).

JS-GIS allows to build quickly a simple query interface to geographic data; but being an API, allows for great flexibility and control, too.

Licensing and Copyright notice

JS-GIS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation at

JS-GIS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

JS-GIS API, JS-GIS documentation 2001, 2002 by Luca S. Percich
2000, 2001, 2002 by Luca S. Percich

Author: Luca S. Percich (
JS-GIS homepage:
WebStaticMapper homepage:


My thanks go to the following:

JS-GIS © 2001, 2002 by Luca S. Percich (
Last updated: dec 26, 2002