= PostGIS WKT Raster Home Page = {{{ #!html
}}} '''Quick Links''' * [wiki:WKTRaster/PlanningAndFunding Planning & Funding] * [wiki:WKTRaster/SpecificationWorking01 Beta 0.1.6 Working Specifications] * [wiki:WKTRaster/SpecificationFinal01 Beta 0.1.6 Final Specifications] * [wiki:WKTRaster/Documentation01 Beta 0.1.6 Documentation] * [wiki:WKTRaster/FAQ FAQ] * [wiki:WKTRaster/SpecificationWorking02 Beta 0.2.4 Working Specifications] * [wiki:WKTRaster/SpecificationWorking03 Working Specifications for Future Versions] {{{ #!html
}}} '''What's new about WKT Raster?''' ''December 10, 2009''[[BR]]'''Tyler Erickson speaks about his need for PostGIS WKT Raster at FOSS4G 2009'''[[BR]][http://wiki.mtri.org/display/mtripub/tyler+erickson Tyler Erickson], Research Scientist at the Michigan Tech Research Institute [http://download.osgeo.org/osgeo/foss4g/2009/SPREP/2Thu/Parkside%20GO4/1030/Thu%20G04%201130%20Erickson/Erickson_foss4g.ppt presented his research project] at [http://2009.foss4g.org/researchpapers/#researchpaper_5 FOSS4G 2009] in Sydney, Australia. Tyler uses [http://geodjango.org/ GeoDjango] and PostGIS to visualise the results of CO2 simulation models directly in Google Earth. WKT Raster would enable him to easily do raster/vecter spatial analysis from his web application. Tyler's project was selected as one of the professional winners in Google’s 2009 KML in Research Competition. ''December 4, 2009''[[BR]]'''Jorge Arevalo full time on WKT Raster! '''[[BR]]Jorge Arevalo who developped the first version of the GDAL WKT Raster driver during the summer of 2009 will be working for at least one year on WKT Raster. Jorge is working for [http://www.deimos-space.com/UK/index.asp?lang=UK DEIMOS Space], a Spanish aerospace company leading the [http://www.españavirtual.org/?q=en Espana virtual] project. Jorge's superior, Miguel Lizondo, confirmed that Jorge would be devoting most of his time to WKT Raster in the coming year. This commitment should normally be extended for a second year afterward.[[BR]][[BR]]Jorge will follow the planned roadmap and will be the main developper for the coming year. [http://mateusz.loskot.net/ Mateuzs Loskot] will continue contribute his spare time to the project and [http://www.cef-cfr.ca/index.php?n=Membres.PierreRacine Pierre Racine] will help Jorge with the specifications and the general management of the project.[[BR]][[BR]]Welcome (back) Jorge! ''October 16, 2009''[[BR]]'''[http://www.geomatique2009.com/fr/conferences/programme PostGIS WKT Raster at Geomatique 2009 in Montréal]! '''[[BR]]Pierre Racine will present WKT Raster at Geomatique 2009 in Montréal on October 20. We hope we can get more people interested by the project! [attachment:WKTRasterIntro-Geomatique2009.pdf See the presentation (PDF)!] ''June 04, 2009''[[BR]]'''[http://www.gis4free.org/blog A prototype GDAL driver to WKT Raster implemented this summer]! '''[[BR]]Thanks to Mateusz Loskot, who proposed the Google Summer of Code project and Jorge Arevalo the student who was selected to implement it. {{{ #!html
}}} Welcome to the '''WKT Raster''' project home page! '''PostGIS WKT Raster''' is an ongoing project aiming at developing '''raster support in PostGIS'''. It is a new project very different from the previous PGRaster project and also very different from [http://en.wikipedia.org/wiki/GeoRaster Oracle Spatial GeoRaster]. The goal of '''WKT Raster''' 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. == Installation == * '''Linux -''' You will have to compile WKT Raster following the instructions in the Development Info section. * '''Windows Binaries - ''' If you are running PostGIS on Windows, you can find fairly recent binaries of WKT Raster in the [http://www.postgis.org/download/windows/experimental.php Windows Experimental Builds section] along with binaries of the most recent PostGIS trunk. * '''Documentation - ''' [wiki:WKTRaster/Documentation01 WKT Raster Documentation] is under development. * '''GDAL WKT Raster driver - ''' A [http://trac.osgeo.org/gdal/wiki/frmts_wtkraster.html GDAL WKT Raster driver] was developed following a [http://socghop.appspot.com/ Google Summer of Code 2009] grant obtained by [http://www.gis4free.org/blog/ Jorge Arevalo]. == Development Info == * '''Planning'''[[BR]][[BR]] * Beta 0.1.6: Summer 2010. * Beta 0.2.4: Winter 2011. * Look [wiki:WKTRaster/PlanningAndFunding at the planning page] for a detailed schedule and to know how to contribute. * '''Specifications -''' To know more about or contribute your ideas about the design of WKT Raster consult [wiki:WKTRaster/SpecificationWorking01 the working specification page]. Accepted specifications are aggregates into the [wiki:WKTRaster/SpecificationFinal01 final specification page]. * '''Source Code, API and Bug report'''[[BR]][[BR]] * PostGIS WKT Raster source code is available from the OSGeo Subversion repository {{{ svn checkout https://svn.osgeo.org/postgis/spike/wktraster wktraster }}} * You can also download the latest development snapshot from: http://postgis.refractions.net/download/ [[BR]][[BR]] * Compilation instructions are availables in the [wiki:WKTRaster/Documentation01 Documentation].[[BR]][[BR]] * API reference is available on [http://postgis.refractions.net/documentation/raster-doxygen/ WKT Raster Doxygen] pages.[[BR]][[BR]] * See report with [report:17 All tickets reported to WKT Raster] == More Info == For more details and examples of application using WKT Raster: * Search for "WKT Raster" in the [http://postgis.refractions.net/pipermail/postgis-users/ PostGIS mailing list archive] or in [http://www.nabble.com/forum/Search.jtp?forum=1221&local=y&query=%22wkt+raster%22 Nabble] * Write to [http://www.cef-cfr.ca/index.php?n=Membres.PierreRacine Pierre Racine] * Have a look at the PowerPoints:[[BR]][[BR]] * Original Project Presentation - rationale, examples and preliminary specifications: [http://www.cef-cfr.ca/uploads/Membres/WKTRasterSpecifications1.0.ppt PPT], [http://www.cef-cfr.ca/uploads/Membres/WKTRasterSpecifications1.0.pdf PDF] (v1.0) * Introduction to WKT Raster - Geomatique 2009, Montréal, october 2009. [attachment:WKTRasterIntro-Geomatique2009.pdf PDF] == Overview of Planned PostGIS WKT Raster Features == '''WKT Raster...''' '''...is as simple as PostGIS...''' * one table = one raster coverage (like a vector coverage) * one row = one tile or one raster object (like a vector coverage where one row = one geometry) * only one new type: RASTER (like the PostGIS GEOMETRY type) * each raster tile has a pixel size, a width and a height, a variable number of band, a pixel type per band and a nodata value per band. Everything essential to do base raster GIS operations. '''...is an extension of PostGIS to be installed separately''' * merge with PostGIS might occur in the future... '''...has an import/export mechanism similar to shp2pgsql''' * raster2pgsql and pgsql2raster utilities allowing import/export of a single raster or a batch of raster into a tiled coverage. '''...allows easy conversion from/to geometry/raster...''' * ST_AsPolygon(raster) -> geometry * ST_AsRaster(geometry, pixelsize) -> raster '''...implements base GIS raster operations available in most GIS...''' * ST_Resample(raster, pixelsize, method) -> raster * ST_Clip(raster|geometry,geometry) -> same type as first argument * ST_Reclass(raster|geometry,string) -> same type as first argument * ST_MapAlgebra(raster|geometry, raster), mathematical expression, "raster"|"geometry") -> raster/geometry * etc...) '''...introduces raster/geometry seamless geometry constructors...''' * so you don't have to bother whether the layers are in raster or vector form when using analysis functions. * ST_Intersection(raster|geometry, raster|geometry, "raster"|"geometry") -> raster/geometry * ST_Union(raster|geometry, raster|geometry, "raster"|"geometry") -> raster/geometry * ST_Accum(raster set|geometry set, "raster"|"geometry") -> raster/geometry * ST_Transform(raster|geometry, SRID) -> same type as input * etc... '''...and seamless geometry operators...''' * ST_Intersects(raster|geometry, raster|geometry) -> boolean * ST_Contains(raster|geometry A, raster|geometry B) -> boolean * etc... '''...allows raster storage INSIDE the database (as WKB)...''' * for efficient overlay analysis operations between vector and raster layers... '''...or OUTSIDE the database (as JPEG or TIFF)...''' * 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-db raster tiles work seamlessly with out-db raster tiles. '''...introduces the concept of raster objects...''' * geographic features are stored as variable size raster tiles instead of polygons. * allows vector to raster conversion without lost of information. '''...is much more simple than PGRaster and Oracle !GeoRaster! WKT Raster supports...''' * 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. * no metadata (like PostGIS) * no masks (you can create a mask as a band) * no multiple dimensions (only two: x, y). Not to be confused with bands; WKT Raster DO supports multiband raster... * no pyramids (reduced resolution coverages can be stored as a separate layer) == What do people think about WKT Raster? == [http://www.cleverelephant.ca/cv.html Paul Ramsey] (founder of PostGIS): ''This proposal is better than any I have seen, addresses solving problems that if solved will provide actual new functionality and benefit to users, and clearly you've thought this through over some time'' [http://www.paragoncorporation.com/Team.aspx Regina Obe] (coauthor of [http://www.manning.com/obe/ PostGIS in Action]): ''The functions WKT Raster proposes look pretty cool actually and my vision of the benefits of storing raster in the database are covered in it'' = Open Tickets = [[TicketQuery(status=new|assigned|reopened&component~=wktraster&order=priority)]]