| 1 | = '''PostGIS WKT Raster Beta 03 (and up) Working Specifications''' = |
| 2 | {{{ |
| 3 | #!html |
| 4 | <div style='background-color: #F4F4F4; padding: 5px; border: 1px solid gray; float: right; margin-left: 5px; width: 260px; font-size: small;' > |
| 5 | }}} |
| 6 | '''Quick Links''' |
| 7 | |
| 8 | * [wiki:WKTRaster WKT Raster Home Page] |
| 9 | * [wiki:WKTRaster/PlanningAndFunding Planning & Funding] |
| 10 | |
| 11 | * [wiki:WKTRaster/SpecificationWorking01 Working Specifications for Beta 0.1.6] |
| 12 | * [wiki:WKTRaster/SpecificationWorking03 Working Specifications for Future Versions] |
| 13 | |
| 14 | {{{ |
| 15 | #!html |
| 16 | </div> |
| 17 | }}} |
| 18 | ---- |
| 19 | == '''Objective B03a - Being able to set all the properties of a raster.''' == |
| 20 | |
| 21 | |
| 22 | '''RT_SetSRID(raster|geometry, integer)'''[[BR]] |
| 23 | '''RT_SetPixelType(raster, band, string)'''[[BR]] |
| 24 | '''RT_SetPixelSize(raster)'''[[BR]] |
| 25 | '''RT_SetNoDataValue(raster, band, value)'''[[BR]] |
| 26 | '''RT_SetGeoReference(raster, string)''' |
| 27 | |
| 28 | ---- |
| 29 | == '''Objective B03b - Being able to reproject a raster.''' == |
| 30 | |
| 31 | |
| 32 | '''RT_Transform(raster|geometry, SRID) -> same type as input''' |
| 33 | |
| 34 | ---- |
| 35 | == '''Objective B03c - Being able to do some base raster operations.''' == |
| 36 | |
| 37 | |
| 38 | '''RT_Area(raster|geometry) -> double'''[[BR]] |
| 39 | '''RT_Count(raster, value) -> integer'''[[BR]] |
| 40 | '''RT_Resample(raster, pixelsize, method) -> raster'''[[BR]] |
| 41 | '''RT_SelectByValue(raster|geometry, ‘expression’) -> same type as first argument'''[[BR]] |
| 42 | '''RT_Reclass(raster|geometry,string) -> same type as first argument'''[[BR]] |
| 43 | '''RT_MapAlgebra(raster|geometry, [raster|geometry,…], ‘mathematical expression’, ‘raster’ |’geometry’) -> raster/geometry'''[[BR]] |
| 44 | '''RT_Clip(raster|geometry,geometry) -> same type as first argument'''[[BR]] |
| 45 | '''RT_Flip(raster|geometry, ’vertical’|’horizontal’) -> same type as first argument''' |
| 46 | |
| 47 | |
| 48 | ---- |
| 49 | == '''PostGIS WKT Raster Beta 0.4''' == |
| 50 | |
| 51 | ---- |
| 52 | == '''Objective B04a - Being able to convert a raster to standards formats.''' == |
| 53 | |
| 54 | |
| 55 | '''RT_AsKML(raster|geometry) -> string'''[[BR]] |
| 56 | '''RT_AsSVG(raster|geometry) -> string''' |
| 57 | |
| 58 | ---- |
| 59 | == '''Objective B04b - Being able to control the validity of a raster.''' == |
| 60 | |
| 61 | |
| 62 | '''RT_IsEmpty(raster|geometry) -> boolean'''[[BR]] |
| 63 | '''RT_mem_size(raster|geometry) -> integer'''[[BR]] |
| 64 | '''RT_isvalid(raster|geometry) -> boolean''' |
| 65 | |
| 66 | ---- |
| 67 | == '''Objective B04c - Being able to use other major topological operators''' == |
| 68 | |
| 69 | |
| 70 | '''RT_Within(raster|geometry A, raster|geometry B)'''[[BR]] |
| 71 | '''RT_Contains(raster|geometry A, raster|geometry B)'''[[BR]] |
| 72 | '''RT_Overlaps(raster|geometry, raster|geometry)''' |
| 73 | |
| 74 | ---- |
| 75 | == '''PostGIS WKT Raster Beta 0.5''' == |
| 76 | |
| 77 | ---- |
| 78 | == '''Objective B05a - Being able to derive a raster layer from vector layer.''' == |
| 79 | |
| 80 | |
| 81 | '''RT_Interpolate(points, pixelsize, method) -> raster''' |
| 82 | |
| 83 | ---- |
| 84 | == '''Objective B05b - Being able to do on rasters most operations available on geometries''' == |
| 85 | |
| 86 | |
| 87 | '''RT_Centroid(raster|geometry) -> point geometry'''[[BR]] |
| 88 | '''RT_PointOnSurface(raster|geometry) -> point geometry'''[[BR]] |
| 89 | '''RT_Buffer(raster|geometry, double) -> same type as first arg.'''[[BR]] |
| 90 | '''RT_ConvexHull(raster|geometry) -> same type as input'''[[BR]] |
| 91 | '''RT_Difference(raster|geometry A, raster|geometry B) -> same type as first argument'''[[BR]] |
| 92 | '''RT_SymDifference(raster|geometry,raster|geometry,‘raster’|’geometry’) -> raster/geometry''' |
| 93 | |
| 94 | |
| 95 | ---- |
| 96 | == '''PostGIS WKT Raster Beta 0.6''' == |
| 97 | |
| 98 | ---- |
| 99 | == '''Objective B06a - Being able to use all the other topological operators''' == |
| 100 | |
| 101 | |
| 102 | '''RT_Equals(raster|geometry, raster|geometry)'''[[BR]] |
| 103 | '''RT_Disjoint(raster|geometry, raster|geometry)'''[[BR]] |
| 104 | '''RT_Touches(raster|geometry, raster|geometry)'''[[BR]] |
| 105 | '''RT_Crosses(raster|geometry, raster|geometry)'''[[BR]] |
| 106 | '''RT_Covers(raster|geometry A, raster|geometry B)'''[[BR]] |
| 107 | '''RT_IsCoveredBy(raster|geometry A, raster|geometry B)'''[[BR]] |
| 108 | '''RT_Relate(raster|geometry, raster|geometry, intersectionPatternMatrix )''' |
| 109 | |
| 110 | ---- |
| 111 | == '''Objective B07b - Being able to edit a raster''' == |
| 112 | |
| 113 | |
| 114 | '''RT_Value(raster, band, x, y) -> value'''[[BR]] |
| 115 | Return value of a single pixel. Pixel location is specified by 1-based index of Nth band of raster and X,Y coordinates.[[BR]] |
| 116 | The X coordinate is expected to be in range of [1, RT_Width(raster)] and Y coordinate in range of [1, RT_Height(raster))]. |
| 117 | Return value is of type of 64-bit float-point number.[[BR]] |
| 118 | '''TODO''': mloskot: Should we return NUMERIC instead of FLOAT8? |
| 119 | |
| 120 | |
| 121 | '''RT_SetValue(raster, band, x, y, value)'''[[BR]] |
| 122 | '''RT_Affine(raster|geometry,…) -> same type as input'''[[BR]] |
| 123 | '''RT_Translate(raster|geometry,…) -> same type as input'''[[BR]] |
| 124 | '''RT_Scale(raster|geometry,…) -> same type as input'''[[BR]] |
| 125 | '''RT_TransScale(raster|geometry,…) -> same type as input'''[[BR]] |
| 126 | '''RT_RotateZ,Y,Z(raster|geometry, float8) -> same type as input''' |
| 127 | |
| 128 | '''Other functions''' |
| 129 | |
| 130 | |
| 131 | '''RT_AsBinary(raster, compression)'''[[BR]] |
| 132 | '''RT_RasterFromWKB(raster, [<srid>])'''[[BR]] |
| 133 | '''RT_RasterFromText(string, [<srid>])'''[[BR]] |
| 134 | '''RT_AsText(raster)''' |
| 135 | ---- |