Changes between Initial Version and Version 1 of WKTRaster/Documentation01


Ignore:
Timestamp:
Apr 16, 2009, 10:15:05 AM (15 years ago)
Author:
pracine
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • WKTRaster/Documentation01

    v1 v1  
     1= '''PostGIS WKT Raster Beta 01 Documentation''' =
     2
     3
     4= '''1 - Introduction''' =
     5
     6WKT Raster is an extension of PostGIS aiming at aiming at developing support for raster. It is a new project very different from the previous PGRaster project and also very different from Oracle GeoRaster...
     7
     8WKT Raster's goal is to implement the RASTER type as much as possible like the GEOMETRY type is implemented in PostGIS and to offer a single set of overlay SQL functions (like ST_Intersects) operating seamlessly on vector and raster coverages.
     9
     10
     11
     12== '''WKT Raster...''' ==
     13
     14
     15 * '''is as simple as PostGIS...'''[[BR]]
     16[[BR]]
     17  Load your raster data using gdal2wktraster.py and make your queries! In WKT Raster...
     18
     19   * RASTER is a new column type (like the PostGIS GEOMETRY type)
     20   * one table with a column of type raster = one raster coverage (like a one table PostGIS vector coverage)
     21   * one table row with a column of type raster = one tile (like a vector coverage in which one row = one geometry)
     22   * each tile has: a pixel size, a width and a height, a georeference, a certain number of band, a pixeltype per band and a nodata value per band; everything essential to do basic GIS raster operations.
     23
     24 * '''is an extension of PostGIS to be installed separately'''
     25
     26  You can install WKT Raster over any version of PostGIS higher than 1.3.5. Merge with PostGIS might occur in the future...
     27
     28 * '''has a loader similar to shp2pgsql.exe (gdal2wktraster.py)...'''
     29
     30   * allowing loading of a single raster or a set of rasters (using wildcard) into a tiled coverage.
     31   * supporting as many file format as GDAL does.
     32
     33 * '''allows easy conversion from raster to geometry...'''
     34
     35   * RT_AsPolygon(raster) -> geometry
     36
     37 * '''introduces raster/geometry seamless geometry constructors...'''
     38
     39   * so you don't have to bother whether the layers you are working with are in raster or vector form when using analysis functions.
     40
     41   * RT_Intersection(raster|geometry, raster|geometry, "raster"|"geometry") -> raster/geometry
     42
     43 * '''and seamless geometry operators...'''
     44
     45   * raster|geometry && raster|geometry -> boolean
     46   * RT_Intersects(raster|geometry, raster|geometry) -> boolean
     47
     48 * '''allows raster storage INSIDE the database (as WKB)...'''
     49
     50   * for efficient overlay analysis operations between vector and raster layers...
     51
     52 * '''or OUTSIDE the database (as JPEG or TIFF)...'''
     53
     54   * so desktop and web applications can quickly access and load raster tiles and nevertheless benefits from the powerful PostGIS GiST spatial index. Every WKT Raster SQL functions working with in-the-db raster tiles work seamlessly with out-the-db raster tiles.
     55
     56 * '''is much more simple than PGRaster and Oracle GeoRaster! WKT Raster supports...'''
     57
     58   * only one type (instead of two in Oracle Spatial: SDO_GEORASTER & SDO_RASTER). In WKT Raster there are no differences between rasters and tiles: a tile is a raster and a raster is a tile. i.e. one row = one tile = one raster; one table = one raster coverage.
     59   * no metadata (like PostGIS)
     60   * no masks (you can create a mask as a band)
     61   * no multiple dimensions (only two: x, y)
     62   * no pyramids (reduced resolution coverages can be stored as a separate layer)
     63
     64== '''1.1 - Credits''' ==
     65
     66
     67'''Sponsoring'''
     68
     69 * '''[http://www.cef-cfr.ca/index.php?n=Membres.StevenGCumming Steve Cumming], University Laval,''' sponsored project management kick-start and core implementation.
     70
     71 * '''[http://www.cadcorp.com CadCorp]''' sponsored WKB and datum format design and implementation.
     72
     73 * '''[http://www.mtrinstitute.com/ The Michigan Tech Research Institute]''' sponsored spatial operators implementation.
     74
     75 * '''[http://www.refractions.net/ Refractions Research Inc.]''' provided svn repository.
     76
     77
     78'''Development'''
     79
     80 * '''Pierre Racine''' designed the functionality.
     81
     82 * '''Sandro Santilli''' wrote the in-memory api, build scripts and postgresql connectors.
     83
     84 * '''Mateusz Loskot''' wrote the loader (gdal2wktraster.py) and most "getter" functions.
     85
     86
     87
     88== '''1.2 - More Information''' ==
     89
     90
     91 * For more information see [http://postgis.refractions.net/support/wiki/index.php?WKTRasterHomePage WKT Raster Home Page].
     92
     93 * Search for "WKT Raster" in the [http://postgis.refractions.net/pipermail/postgis-users/ PostGIS-users] and [http://postgis.refractions.net/pipermail/postgis-devel/ PostGIS-devel] forums archives or in [http://www.nabble.com/PostGIS-f1221.html Nabble] or write to these forums.
     94
     95
     96
     97= '''2 - Installation''' =
     98
     99
     100== '''2.1 - Requirements''' ==
     101
     102
     103WKT Raster is dependent on:
     104
     105 * [http://www.postgresql.org/ PostgreSQL] version 7.2 or higher.
     106
     107 * [http://postgis.refractions.net/ PostGIS] version 1.3.5 or higher.
     108
     109 * [http://www.python.org/ Python] version 2.5 or higher and [http://pypi.python.org/pypi/GDAL/ GDAL for Python] version 1.6.0 or higher for the loader (gdal2wktraster.py).
     110
     111
     112== '''2.2 - Installing Precompiled Binaries''' ==
     113
     114
     115Windows and Linux binaries should be available soon on the [http://postgis.refractions.net/support/wiki/index.php?WKTRasterHomePage WKT Raster Home Page].
     116
     117== '''2.3 - Compiling and Installing from Sources''' ==
     118
     119
     120'''2.3.1 - Compiling on Linux'''[[BR]][[BR]]
     121 1. Follow the [http://postgis.refractions.net/documentation/manual-1.3/ch02.html instructions to compile PostGIS].
     122 2. Using a SVN client, retrieve the WKT Raster source from http://svn.osgeo.org/postgis/spike/wktraster
     123 3. From the wktraster directory, run:
     124
     125{{{
     126>./configure
     127
     128}}}
     129 
     130 4. Run the compile and install commands:
     131
     132
     133{{{
     134>make & make install
     135
     136}}}
     137
     138
     139  PostgreSQL provides a utility called pg_config to enable extensions like PostGIS to locate the PostgreSQL installation directory. If ./configure didn't find pg_config, try using the --with-pgconfig=/path/to/pg_config switch to specify a particular PostgreSQL installation.
     140
     141  All files are installed using information provided by pg_config:
     142
     143   * Core functionality (rtpostgis shared library) is installed in [pkglibdir]/lib/
     144
     145   * SQL function file (rtpostgis.sql) is installed in [prefix]/share/contrib
     146
     147   * Loader (gdal2wktraster.py) is installed in [bindir]/
     148
     149
     150
     151
     152'''2.3.2 - Compiling on Windows using MSYS/MinGW'''
     153
     154
     155To be revised.
     156
     157
     158'''2.3.3 - Compiling on Windows using Visual Studio'''
     159
     160
     161
     162'''2.3.4 - Final Installation'''
     163
     164 1. Load the PostGIS WKT Raster object and function definitions into your database by loading the rtpostgis.sql definitions file.
     165
     166 >psql -d [yourdatabase] -f rtpostgis.sql
     167
     168  The PostGIS WKT Raster extensions should now be loaded and ready to use.
     169
     170= '''3 - FAQ''' =
     171
     172'''3.1 - What is the meaning of "WKT" in WKT Raster?'''
     173
     174'''3.2 - How is WKT Raster different than the Oracle SDO_GEORASTER and SDO_RASTER types?'''
     175
     176'''3.3 - Why do you say "WKT Raster goal is to implement the RASTER type as much as possible like the GEOMETRY type is implemented in PostGIS"? Vector and raster are very different and have always been threated differently in GIS packages.'''
     177
     178'''3.4 - Why does every tile is georeferenced?'''
     179
     180'''3.5 - How come it is possible to store overlapping rasters in the same table? In a raster, tiles should not overlaps.'''
     181
     182'''4.6 - How do a load my raster in the database using WKT Raster?'''
     183
     184'''4.7 - How do I dump my raster from the database into the filesystem using WKT Raster?'''
     185
     186
     187
     188= '''4 - Using PostGIS WKT Raster''' =
     189
     190
     191== '''4.1 - The PostGIS WKT Raster Type''' ==
     192
     193Like the PostGIS "geometry" type, WKT Raster "raster" type is a new PostgreSQL type. This mean each raster or raster tile is stored as a row of data in a database table. It is a complex type embedding many informations about each raster (width, height, number of band, pixeltype for each band and nodatavalue for each band) and its geolocalisation (pixelsize, upper left pixel center, rotation and SRID).
     194
     195
     196== '''4.2 - Integration with PostGIS''' ==
     197
     198
     199== '''4.3 - Loader/Dumper''' ==
     200
     201
     202== '''4.4 - Building Indexes''' ==
     203
     204
     205== '''4.5 - Examples''' ==
     206
     207
     208= '''5 - Uploading Strategy & Performance Tips''' =
     209
     210
     211= '''6 - PostGIS WKT Raster Reference''' =
     212
     213
     214== '''6.1 - Management Functions''' ==
     215
     216
     217== '''6.2 - Raster Relationship Functions''' ==
     218
     219
     220== '''6.3 - Raster Processing Functions''' ==
     221
     222
     223== '''6.4 - Raster Accessors''' ==
     224
     225
     226== '''6.5 - Raster Constructors''' ==
     227
     228
     229== '''6.6 - Raster Operators''' ==
     230
     231
     232== '''6.7 - Raster Outputs''' ==
     233
     234
     235== '''6.8 - Raster Editors''' ==
     236
     237
     238= '''7 - Reporting Problems''' =
     239
     240
     241= '''Appendix''' =
     242
     243
     244
     245