Mapboard GIS

Pro­ject file for­mat

Map­board GIS stores all pro­ject in­for­ma­tion within a Spa­tialite data­base. Spa­tialite is the spa­tial ex­ten­sion to SQLite, a small but ca­pa­ble data­base en­gine used by lit­er­ally every­one. This open-source, well-doc­u­mented ba­sis al­lows pro­ject files to be cre­ated, read, and mod­i­fied by out­side soft­ware. Im­por­tantly, Spa­tialite files are sup­ported na­tively by QGIS, Ar­cGIS, and Global Map­per, among other geospa­tial desk­top en­vi­ron­ments. This means that there can al­ways be a seam­less tran­si­tion be­tween iPad and desk­top map­ping.

The .mapboard-project for­mat is de­signed to sup­port on­board spa­tial pro­cess­ing. Al­though the same file for­mat is used for pro­jects op­er­at­ing in Teth­ered mode, the GIS ca­pa­bil­i­ties of Spa­tialite are not used. In­stead, all spa­tial in­for­ma­tion is stored in a re­mote Post­GIS data­base. How­ever, the lay­out of spa­tial ta­bles re­mains much the same.

Mo­ti­va­tion and cross-com­pat­i­bil­ity

The au­thor of the Spa­tialite li­brary is due a lot of thanks for cre­at­ing and main­tain­ing the core tech­nol­ogy that dri­ves this ap­pli­ca­tion. Check out the Spa­tialite cook­book to learn more about the li­brary.

Us­ing a SQLite-based for­mat for data stor­age, in­clud­ing for sub­sidiary in­for­ma­tion be­yond the core spa­tial ta­bles, re­sults in a for­mat that is self-doc­u­ment­ing and ex­ten­si­ble. This strat­egy for build­ing app files is ad­vo­cated by the SQLite pro­ject. The file must have the ex­ten­sion .mapboard-project to be rec­og­nized as a Map­board pro­ject.

The linework table open in DB Browser for SQLite

The .mapboard-project for­mat can be read by a va­ri­ety of soft­ware for work­ing with SQLite data­bases, in­clud­ing graph­i­cal ap­pli­ca­tions such as DB Browser for SQLite (rec­om­mended) and SQLite Stu­dio. The Spa­tialite GUI ap­pli­ca­tion can open the spa­tial ta­bles in the app. The file for­mat can also be read us­ing the sqlite3 com­mand-line ap­pli­ca­tion and li­braries for all ma­jor pro­gram­ming lan­guages.

Ap­pli­ca­tion pack­age struc­ture

As of ver­sion 3.3.3, .mapboard-project files are or­ga­nized as an ap­pli­ca­tion pack­age the “file” is ac­tu­ally a di­rec­tory con­tain­ing any num­ber of re­lated files. This is an ap­proach com­mon to many Mac and iOS apps, and it en­sures that all files as­so­ci­ated with a pro­ject are kept to­gether. The .mapboard-project ex­ten­sion is used to iden­tify the di­rec­tory as a Map­board pro­ject, and the mapboard.db file within the pack­age con­tains the SQLite data­base.

To open a .mapboard-project data­base in a client ap­pli­ca­tion, you must open the mapboard.db file con­tained within it. At the com­mand line and on Win­dows, ap­pli­ca­tion pack­ages will show up as nor­mal fold­ers. On Mac, in­ter­nal files can be ac­cessed by right-click­ing on the pack­age and se­lect­ing Show Pack­age Con­tents.

Spa­tialite data­base struc­ture

The linework table open in QGIS

The pro­ject file struc­ture is an­chored by sev­eral key ta­bles: linework, linework_type, polygon, and polygon_type. The mapboard_config table holds pro­ject con­fig­u­ra­tion. When files are as­so­ci­ated with the pro­ject (cur­rently just the im­age mode), we use the SQLite Archive for­mat to store them within the ap­pli­ca­tion data­base.