Back to RasterLite2 Tutorials index
Tutorial: building and testing the Tabula Peutingeriana sampleRasterLite2 has the capability to even store big images completely lacking any kind of georeferencing.
In this very peculiar case a special Reference System will be applied, identified by SRID=-1 and simply corresponding to a generic, absolutely unqualified Cartesian planar space and just supporting pixels as the internal measure unit.
Corollary: every non-georeferenced big image will be considered in a Reference System of its own; the origin coordinates 0,0 will always be placed on the lower left corner of the image. Consequently any attempt to overlap or join two different images into the same SRID=-1 Reference System will be completely meaningless and will certainly produce odd and unpredictable results.
The Tabula Peutingeriana is a very interesting historical map, and is universally reputed to be a very accurate and faithful copy of some unknown original map probably dating back to the times of Emperor Augustus. It's not based on a topographical representation of the usual modern type, it's much more a topological representation; anyway it represents in full detail the road network connecting the ancient Roman Empire.
Georeferencing such a map is obviously impossible: anyway it could be easily loaded as an hi-quality, hi-resolution digital big image stored within a RasterLite2 DB-file.
Step 1) downloading the input datasourceYou can easily download an accurate hi-resolution digital copy of the Tabula Peutingeriana; it's licensed on the Public Domain (CC-0) and it's absolutely free.
Step 2) creating the Peutingeriana Coverage
$ rl2tool CREATE -db peutingeriana.sqlite -cov peutingeriana -smp UINT8 \ -pxl RGB -cpr JPEG -srid -1 -res 1.0 rl2_tool: request is CREATE =========================================================== DB path: peutingeriana.sqlite Coverage: peutingeriana Sample Type: UINT8 Pixel Type: RGB Number of Bands: 3 Compression: JPEG (lossy) Compression Quality: 80 Tile size (pixels): 512 x 512 Not Georeferenced: Pixel base resolution: X=1.0 Y=1.0 =========================================================== SQLite version: 188.8.131.52 SpatiaLite version: 4.2.0-devel RasterLite2 version: 0.8 Raster Coverage "peutingeriana" successfully created Operation CREATE successfully completed $You'll now invoke rl2tool CREATE exactly in the same way you've already tested in any previous tutorial; the relevant differences are in that:
- -srid -1: this explicit intends a non-georeferenced Coverage.
- -res 1.0: this simply confirms that the measure unit will exactly correspond to 1 pixel.
Step 3) populating the Peutingeriana Coverage
$ rl2tool IMPORT -db peutingeriana.sqlite -cov peutingeriana \ -srid -1 -src Tabula_Peutingeriana_-_Miller.jpg -pyr rl2_tool; request is IMPORT =========================================================== DB path: peutingeriana.sqlite Input Source path: Tabula_Peutingeriana_-_Miller.jpg Coverage: peutingeriana Section: from file name Immediately building Pyramid Levels =========================================================== SQLite version: 184.108.40.206 SpatiaLite version: 4.2.0-devel RasterLite2 version: 0.8 Importing: Tabula_Peutingeriana_-_Miller.jpg ------------------ Image Size (pixels): 46380 x 2953 SRID: -1 LowerLeft Corner: X=0.00 Y=0.00 UpperRight Corner: X=46379.00 Y=2952.00 Pixel resolution: X=1.0 Y=1.0 ---------- Pyramid levels successfully built for: Tabula_Peutingeriana_-_Miller Operation IMPORT successfully completed $Once again, you'll invoke rl2tool IMPORT in the most usual way; you are simply required to specify yet another time -srid -1 so to explicitly confirm that this one is a peculiar non-georeferenced big image.
Step 4) testing the Peutingeriana sampleAs you've already done in any previous tutorial you can now directly test the Peutingeriana Coverage by publishing a standard WMS service.
You simply have to start the wmslite light-weight server, then connecting some WMS viewer (e.g. LibreWMS) to the service being published on localhost aka IP address 127.0.0.1, port 8080.
Back to RasterLite2 Tutorials index