Changeset 2616

Show
Ignore:
Timestamp:
06/04/07 16:06:28 (5 years ago)
Author:
mleslie
Message:

Added versions of functions with standard ST (Spatial Type) prefixes to any functions that were lacking them. Updated the regression tests to include the new functions.

Location:
trunk
Files:
44 modified

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r2609 r2616  
     12007-06-04 Mark Leslie <mleslie@refractions.net> 
     2 
     3        * lwgeom/lwpostgis.sql.in, lwgeom/sqlmm.sql.in: 
     4          Added ST_ prefixed function versions where they were lacking. 
     5        * regress: 
     6          Added tests for the new function names. 
     7 
    182007-05-25 Mark Leslie <mleslie@refractions.net> 
    29 
  • trunk/lwgeom/lwpostgis.sql.in

    r2609 r2616  
    3636#endif 
    3737 
     38-- Deprecation in 1.2.3 
    3839CREATEFUNCTION histogram2d_in(HISTOGRAM_OUT_REP) 
    3940        RETURNS HISTOGRAM_IN_REP 
     
    4142        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    4243 
     44-- Availability: 1.2.2 
     45CREATEFUNCTION ST_histogram2d_in(HISTOGRAM_OUT_REP) 
     46        RETURNS HISTOGRAM_IN_REP 
     47        AS '@MODULE_FILENAME@', 'lwhistogram2d_in' 
     48        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     49 
     50-- Deprecation in 1.2.3 
    4351CREATEFUNCTION histogram2d_out(HISTOGRAM_IN_REP) 
    4452        RETURNS HISTOGRAM_OUT_REP 
     
    4654        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    4755 
     56-- Availability: 1.2.2 
     57CREATEFUNCTION ST_histogram2d_out(HISTOGRAM_IN_REP) 
     58        RETURNS HISTOGRAM_OUT_REP 
     59        AS '@MODULE_FILENAME@', 'lwhistogram2d_out' 
     60        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     61 
    4862CREATE TYPE histogram2d ( 
    4963        alignment = double, 
    5064        internallength = variable, 
    51         input = histogram2d_in, 
    52         output = histogram2d_out, 
     65        input = ST_histogram2d_in, 
     66        output = ST_histogram2d_out, 
    5367        storage = main 
    5468); 
     
    6680#endif 
    6781 
     82-- Deprecation in 1.2.3 
    6883CREATEFUNCTION spheroid_in(SPHEROID_OUT_REP) 
    6984        RETURNS SPHEROID_IN_REP 
     
    7186        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    7287 
     88-- Availability: 1.2.2 
     89CREATEFUNCTION ST_spheroid_in(SPHEROID_OUT_REP) 
     90        RETURNS SPHEROID_IN_REP 
     91        AS '@MODULE_FILENAME@','ellipsoid_in' 
     92        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     93 
     94-- Deprecation in 1.2.3 
    7395CREATEFUNCTION spheroid_out(SPHEROID_IN_REP) 
    7496        RETURNS SPHEROID_OUT_REP 
     
    7698        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    7799 
     100-- Availability: 1.2.2 
     101CREATEFUNCTION ST_spheroid_out(SPHEROID_IN_REP) 
     102        RETURNS SPHEROID_OUT_REP 
     103        AS '@MODULE_FILENAME@','ellipsoid_out' 
     104        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     105 
    78106CREATE TYPE spheroid ( 
    79107        alignment = double, 
    80108        internallength = 65, 
    81         input = spheroid_in, 
    82         output = spheroid_out 
     109        input = ST_spheroid_in, 
     110        output = ST_spheroid_out 
    83111); 
    84112 
     
    95123#endif 
    96124 
     125-- Deprecation in 1.2.3 
    97126CREATEFUNCTION geometry_in(GEOMETRY_OUT_REP) 
    98127        RETURNS geometry 
     
    100129        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    101130 
     131-- Availability: 1.2.2 
     132CREATEFUNCTION ST_geometry_in(GEOMETRY_OUT_REP) 
     133        RETURNS geometry 
     134        AS '@MODULE_FILENAME@','LWGEOM_in' 
     135        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     136 
     137-- Deprecation in 1.2.3 
    102138CREATEFUNCTION geometry_out(GEOMETRY_IN_REP) 
    103139        RETURNS cstring 
     
    105141        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    106142 
     143-- Availability: 1.2.2 
     144CREATEFUNCTION ST_geometry_out(GEOMETRY_IN_REP) 
     145        RETURNS cstring 
     146        AS '@MODULE_FILENAME@','LWGEOM_out' 
     147        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     148 
    107149#if USE_VERSION >= 80 
     150-- Deprecation in 1.2.3 
    108151CREATEFUNCTION geometry_analyze(internal) 
    109152        RETURNS bool 
    110153        AS '@MODULE_FILENAME@', 'LWGEOM_analyze' 
    111154        LANGUAGE 'C' _VOLATILE_STRICT; -- WITH (isstrict); 
     155 
     156-- Availability: 1.2.2 
     157CREATEFUNCTION ST_geometry_analyze(internal) 
     158        RETURNS bool 
     159        AS '@MODULE_FILENAME@', 'LWGEOM_analyze' 
     160        LANGUAGE 'C' _VOLATILE_STRICT; -- WITH (isstrict); 
    112161#endif 
    113162 
    114163#if USE_VERSION > 73 
     164-- Deprecation in 1.2.3 
    115165CREATEFUNCTION geometry_recv(internal) 
    116166        RETURNS geometry 
     
    118168        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    119169 
     170-- Availability: 1.2.2 
     171CREATEFUNCTION ST_geometry_recv(internal) 
     172        RETURNS geometry 
     173        AS '@MODULE_FILENAME@','LWGEOM_recv' 
     174        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     175 
     176-- Deprecation in 1.2.3 
    120177CREATEFUNCTION geometry_send(geometry) 
    121178        RETURNS bytea 
    122179        AS '@MODULE_FILENAME@','LWGEOM_send' 
    123180        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     181 
     182-- Availability: 1.2.2 
     183CREATEFUNCTION ST_geometry_send(geometry) 
     184        RETURNS bytea 
     185        AS '@MODULE_FILENAME@','LWGEOM_send' 
     186        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    124187#endif 
    125  
    126188 
    127189CREATE TYPE geometry ( 
    128190        internallength = variable, 
    129         input = geometry_in, 
    130         output = geometry_out, 
     191        input = ST_geometry_in, 
     192        output = ST_geometry_out, 
    131193#if USE_VERSION > 73 
    132         send = geometry_send, 
    133         receive = geometry_recv, 
     194        send = ST_geometry_send, 
     195        receive = ST_geometry_recv, 
    134196#endif 
    135197        delimiter = ':', 
    136198#if USE_VERSION >= 80 
    137         analyze = geometry_analyze, 
     199        analyze = ST_geometry_analyze, 
    138200#endif  
    139201        storage = main 
     
    145207 
    146208-- Availability: 1.1.2 
     209-- Deprecation in 1.2.3 
    147210CREATE OR REPLACE FUNCTION Affine(geometry,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8) 
    148211        RETURNS geometry 
     
    150213        LANGUAGE 'C' _IMMUTABLE_STRICT;  
    151214 
     215-- Availability: 1.2.2 
     216CREATE OR REPLACE FUNCTION ST_Affine(geometry,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8) 
     217        RETURNS geometry 
     218        AS '@MODULE_FILENAME@', 'LWGEOM_affine' 
     219        LANGUAGE 'C' _IMMUTABLE_STRICT;  
     220 
    152221-- Availability: 1.1.2 
     222-- Deprecation in 1.2.3 
    153223CREATE OR REPLACE FUNCTION Affine(geometry,float8,float8,float8,float8,float8,float8) 
    154224        RETURNS geometry 
     
    156226        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
    157227 
     228-- Availability: 1.2.2 
     229CREATE OR REPLACE FUNCTION ST_Affine(geometry,float8,float8,float8,float8,float8,float8) 
     230        RETURNS geometry 
     231        AS 'SELECT affine($1,  $2, $3, 0,  $4, $5, 0,  0, 0, 1,  $6, $7, 0)' 
     232        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
     233 
    158234-- Availability: 1.1.2 
     235-- Deprecation in 1.2.3 
    159236CREATEFUNCTION RotateZ(geometry,float8) 
    160237        RETURNS geometry 
     
    162239        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
    163240 
     241-- Availability: 1.2.2 
     242CREATEFUNCTION ST_RotateZ(geometry,float8) 
     243        RETURNS geometry 
     244        AS 'SELECT affine($1,  cos($2), -sin($2), 0,  sin($2), cos($2), 0,  0, 0, 1,  0, 0, 0)' 
     245        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
     246 
    164247-- Availability: 1.1.2 
     248-- Deprecation in 1.2.3 
    165249CREATEFUNCTION Rotate(geometry,float8) 
    166250        RETURNS geometry 
     
    168252        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
    169253 
     254-- Availability: 1.2.2 
     255CREATEFUNCTION ST_Rotate(geometry,float8) 
     256        RETURNS geometry 
     257        AS 'SELECT rotateZ($1, $2)' 
     258        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
     259 
    170260-- Availability: 1.1.2 
     261-- Deprecation in 1.2.3 
    171262CREATEFUNCTION RotateX(geometry,float8) 
    172263        RETURNS geometry 
     
    174265        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
    175266 
     267-- Availability: 1.2.2 
     268CREATEFUNCTION ST_RotateX(geometry,float8) 
     269        RETURNS geometry 
     270        AS 'SELECT affine($1, 1, 0, 0, 0, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0)' 
     271        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
     272 
    176273-- Availability: 1.1.2 
     274-- Deprecation in 1.2.3 
    177275CREATEFUNCTION RotateY(geometry,float8) 
    178276        RETURNS geometry 
     
    180278        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
    181279 
     280-- Availability: 1.2.2 
     281CREATEFUNCTION ST_RotateY(geometry,float8) 
     282        RETURNS geometry 
     283        AS 'SELECT affine($1,  cos($2), 0, sin($2),  0, 1, 0,  -sin($2), 0, cos($2), 0,  0, 0)' 
     284        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
     285 
     286-- Deprecation in 1.2.3 
    182287CREATEFUNCTION Translate(geometry,float8,float8,float8) 
    183288        RETURNS geometry 
     
    185290        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
    186291 
     292-- Availability: 1.2.2 
     293CREATEFUNCTION ST_Translate(geometry,float8,float8,float8) 
     294        RETURNS geometry 
     295        AS 'SELECT affine($1, 1, 0, 0, 0, 1, 0, 0, 0, 1, $2, $3, $4)' 
     296        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
     297 
     298-- Deprecation in 1.2.3 
    187299CREATEFUNCTION Translate(geometry,float8,float8) 
    188300        RETURNS geometry 
     
    190302        LANGUAGE 'SQL' _IMMUTABLE_STRICT; 
    191303 
     304-- Availability: 1.2.2 
     305CREATEFUNCTION ST_Translate(geometry,float8,float8) 
     306        RETURNS geometry 
     307        AS 'SELECT translate($1, $2, $3, 0)' 
     308        LANGUAGE 'SQL' _IMMUTABLE_STRICT; 
     309 
    192310-- Availability: 1.1.0 
     311-- Deprecation in 1.2.3 
    193312CREATEFUNCTION Scale(geometry,float8,float8,float8) 
    194313        RETURNS geometry 
     
    196315        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
    197316 
     317-- Availability: 1.2.2 
     318CREATEFUNCTION ST_Scale(geometry,float8,float8,float8) 
     319        RETURNS geometry 
     320        AS 'SELECT affine($1,  $2, 0, 0,  0, $3, 0,  0, 0, $4,  0, 0, 0)' 
     321        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
     322 
    198323-- Availability: 1.1.0 
     324-- Deprecation in 1.2.3 
    199325CREATEFUNCTION Scale(geometry,float8,float8) 
    200326        RETURNS geometry 
     
    202328        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
    203329 
     330-- Availability: 1.2.2 
     331CREATEFUNCTION ST_Scale(geometry,float8,float8) 
     332        RETURNS geometry 
     333        AS 'SELECT scale($1, $2, $3, 1)' 
     334        LANGUAGE 'SQL' _IMMUTABLE_STRICT;  
     335 
    204336-- Availability: 1.1.0  
     337-- Deprecation in 1.2.3 
    205338CREATEFUNCTION transscale(geometry,float8,float8,float8,float8) 
    206339        RETURNS geometry 
     
    209342        LANGUAGE 'SQL' _IMMUTABLE_STRICT; 
    210343 
     344-- Availability: 1.2.2  
     345CREATEFUNCTION ST_transscale(geometry,float8,float8,float8,float8) 
     346        RETURNS geometry 
     347        AS 'SELECT affine($1,  $4, 0, 0,  0, $5, 0,  
     348                0, 0, 1,  $2 * $4, $3 * $5, 0)' 
     349        LANGUAGE 'SQL' _IMMUTABLE_STRICT; 
     350 
    211351-- Availability: 1.1.0 
     352-- Deprecation in 1.2.3 
    212353CREATEFUNCTION shift_longitude(geometry) 
    213354        RETURNS geometry 
     
    215356        LANGUAGE 'C' _IMMUTABLE_STRICT;  
    216357 
    217  
    218          
     358-- Availability: 1.2.2 
     359CREATEFUNCTION ST_shift_longitude(geometry) 
     360        RETURNS geometry 
     361        AS '@MODULE_FILENAME@', 'LWGEOM_longitude_shift' 
     362        LANGUAGE 'C' _IMMUTABLE_STRICT;  
     363 
    219364------------------------------------------------------------------- 
    220365--  BOX3D TYPE 
     
    229374#endif 
    230375 
     376-- Deprecation in 1.2.3 
    231377CREATEFUNCTION box3d_in(BOX3D_OUT_REP) 
    232378        RETURNS BOX3D_IN_REP 
     
    234380        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    235381 
     382-- Deprecation in 1.2.3 
    236383CREATEFUNCTION box3d_out(BOX3D_IN_REP) 
    237384        RETURNS BOX3D_OUT_REP 
     
    239386        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    240387 
     388-- Availability: 1.2.2 
     389CREATEFUNCTION ST_box3d_in(BOX3D_OUT_REP) 
     390        RETURNS BOX3D_IN_REP 
     391        AS '@MODULE_FILENAME@', 'BOX3D_in' 
     392        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     393 
     394-- Availability: 1.2.2 
     395CREATEFUNCTION ST_box3d_out(BOX3D_IN_REP) 
     396        RETURNS BOX3D_OUT_REP 
     397        AS '@MODULE_FILENAME@', 'BOX3D_out' 
     398        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     399 
    241400CREATE TYPE box3d ( 
    242401        alignment = double, 
    243402        internallength = 48, 
    244         input = box3d_in, 
    245         output = box3d_out 
     403        input = ST_box3d_in, 
     404        output = ST_box3d_out 
    246405); 
    247406 
     407-- Deprecation in 1.2.3 
    248408CREATEFUNCTION xmin(box3d) 
    249409        RETURNS FLOAT8 
     
    251411        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    252412 
     413-- Availability: 1.2.2 
     414CREATEFUNCTION ST_xmin(box3d) 
     415        RETURNS FLOAT8 
     416        AS '@MODULE_FILENAME@','BOX3D_xmin' 
     417        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     418 
     419-- Deprecation in 1.2.3 
    253420CREATEFUNCTION ymin(box3d) 
    254421        RETURNS FLOAT8 
     
    256423        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    257424 
     425-- Availability: 1.2.2 
     426CREATEFUNCTION ST_ymin(box3d) 
     427        RETURNS FLOAT8 
     428        AS '@MODULE_FILENAME@','BOX3D_ymin' 
     429        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     430 
     431-- Deprecation in 1.2.3 
    258432CREATEFUNCTION zmin(box3d) 
    259433        RETURNS FLOAT8 
     
    261435        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    262436 
     437-- Availability: 1.2.2 
     438CREATEFUNCTION ST_zmin(box3d) 
     439        RETURNS FLOAT8 
     440        AS '@MODULE_FILENAME@','BOX3D_zmin' 
     441        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     442 
     443-- Deprecation in 1.2.3 
    263444CREATEFUNCTION xmax(box3d) 
    264445        RETURNS FLOAT8 
     
    266447        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    267448 
     449-- Availability: 1.2.2 
     450CREATEFUNCTION ST_xmax(box3d) 
     451        RETURNS FLOAT8 
     452        AS '@MODULE_FILENAME@','BOX3D_xmax' 
     453        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     454 
     455-- Deprecation in 1.2.3 
    268456CREATEFUNCTION ymax(box3d) 
    269457        RETURNS FLOAT8 
     
    271459        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    272460 
     461-- Availability: 1.2.2 
     462CREATEFUNCTION ST_ymax(box3d) 
     463        RETURNS FLOAT8 
     464        AS '@MODULE_FILENAME@','BOX3D_ymax' 
     465        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     466 
     467-- Deprecation in 1.2.3 
    273468CREATEFUNCTION zmax(box3d) 
     469        RETURNS FLOAT8 
     470        AS '@MODULE_FILENAME@','BOX3D_zmax' 
     471        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     472 
     473-- Availability: 1.2.2 
     474CREATEFUNCTION ST_zmax(box3d) 
    274475        RETURNS FLOAT8 
    275476        AS '@MODULE_FILENAME@','BOX3D_zmax' 
     
    288489#endif 
    289490 
     491-- Deprecation in 1.2.3 
    290492CREATEFUNCTION chip_in(CHIP_OUT_REP) 
    291493        RETURNS CHIP_IN_REP 
    292494        AS '@MODULE_FILENAME@','CHIP_in' 
    293495        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    294  
     496         
     497-- Availability: 1.2.2 
     498CREATEFUNCTION ST_chip_in(CHIP_OUT_REP) 
     499        RETURNS CHIP_IN_REP 
     500        AS '@MODULE_FILENAME@','CHIP_in' 
     501        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     502 
     503-- Deprecation in 1.2.3 
    295504CREATEFUNCTION chip_out(CHIP_IN_REP) 
    296505        RETURNS CHIP_OUT_REP 
     
    298507        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    299508 
     509-- Availability: 1.2.2 
     510CREATEFUNCTION ST_chip_out(CHIP_IN_REP) 
     511        RETURNS CHIP_OUT_REP 
     512        AS '@MODULE_FILENAME@','CHIP_out' 
     513        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     514 
    300515CREATE TYPE chip ( 
    301516        alignment = double, 
    302517        internallength = variable, 
    303         input = chip_in, 
    304         output = chip_out, 
     518        input = ST_chip_in, 
     519        output = ST_chip_out, 
    305520        storage = extended 
    306521); 
     
    319534#endif 
    320535 
     536-- Deprecation in 1.2.3 
    321537CREATEFUNCTION box2d_in(BOX2D_OUT_REP) 
    322538        RETURNS box2d 
     
    324540        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    325541 
     542-- Availability: 1.2.2 
     543CREATEFUNCTION ST_box2d_in(BOX2D_OUT_REP) 
     544        RETURNS box2d 
     545        AS '@MODULE_FILENAME@','BOX2DFLOAT4_in' 
     546        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     547 
     548-- Deprecation in 1.2.3 
    326549CREATEFUNCTION box2d_out(BOX2D_IN_REP) 
    327550        RETURNS cstring 
     
    329552        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    330553 
     554-- Availability: 1.2.2 
     555CREATEFUNCTION ST_box2d_out(BOX2D_IN_REP) 
     556        RETURNS cstring 
     557        AS '@MODULE_FILENAME@','BOX2DFLOAT4_out' 
     558        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     559 
    331560CREATE TYPE box2d ( 
    332561        internallength = 16, 
    333         input = box2d_in, 
    334         output = box2d_out, 
     562        input = ST_box2d_in, 
     563        output = ST_box2d_out, 
    335564        storage = plain 
    336565); 
     
    338567---- BOX2D  support functions 
    339568 
    340  
     569-- Deprecation in 1.2.3 
    341570CREATEFUNCTION box2d_overleft(box2d, box2d)  
    342571        RETURNS bool 
     
    344573        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    345574 
     575-- Availability: 1.2.2 
     576CREATEFUNCTION ST_box2d_overleft(box2d, box2d)  
     577        RETURNS bool 
     578        AS '@MODULE_FILENAME@', 'BOX2D_overleft' 
     579        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     580 
     581-- Deprecation in 1.2.3 
    346582CREATEFUNCTION box2d_overright(box2d, box2d)  
    347583        RETURNS bool 
     
    349585        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    350586 
     587-- Availability: 1.2.2 
     588CREATEFUNCTION ST_box2d_overright(box2d, box2d)  
     589        RETURNS bool 
     590        AS '@MODULE_FILENAME@', 'BOX2D_overright'  
     591        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     592 
     593-- Deprecation in 1.2.3 
    351594CREATEFUNCTION box2d_left(box2d, box2d)  
    352595        RETURNS bool 
     
    354597        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    355598 
     599-- Availability: 1.2.2 
     600CREATEFUNCTION ST_box2d_left(box2d, box2d)  
     601        RETURNS bool 
     602        AS '@MODULE_FILENAME@', 'BOX2D_left'  
     603        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     604 
     605-- Deprecation in 1.2.3 
    356606CREATEFUNCTION box2d_right(box2d, box2d)  
    357607        RETURNS bool 
     
    359609        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    360610 
     611-- Availability: 1.2.2 
     612CREATEFUNCTION ST_box2d_right(box2d, box2d)  
     613        RETURNS bool 
     614        AS '@MODULE_FILENAME@', 'BOX2D_right'  
     615        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     616 
     617-- Deprecation in 1.2.3 
    361618CREATEFUNCTION box2d_contain(box2d, box2d)  
    362619        RETURNS bool 
     
    364621        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    365622 
     623-- Availability: 1.2.2 
     624CREATEFUNCTION ST_box2d_contain(box2d, box2d)  
     625        RETURNS bool 
     626        AS '@MODULE_FILENAME@', 'BOX2D_contain' 
     627        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     628 
     629-- Deprecation in 1.2.3 
    366630CREATEFUNCTION box2d_contained(box2d, box2d)  
    367631        RETURNS bool 
     
    369633        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    370634 
     635-- Availability: 1.2.2 
     636CREATEFUNCTION ST_box2d_contained(box2d, box2d)  
     637        RETURNS bool 
     638        AS '@MODULE_FILENAME@', 'BOX2D_contained' 
     639        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     640 
     641-- Deprecation in 1.2.3 
    371642CREATEFUNCTION box2d_overlap(box2d, box2d)  
    372643        RETURNS bool 
     
    374645        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    375646 
     647-- Availability: 1.2.2 
     648CREATEFUNCTION ST_box2d_overlap(box2d, box2d)  
     649        RETURNS bool 
     650        AS '@MODULE_FILENAME@', 'BOX2D_overlap' 
     651        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     652 
     653-- Deprecation in 1.2.3 
    376654CREATEFUNCTION box2d_same(box2d, box2d)  
    377655        RETURNS bool 
     
    379657        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    380658 
     659-- Availability: 1.2.2 
     660CREATEFUNCTION ST_box2d_same(box2d, box2d)  
     661        RETURNS bool 
     662        AS '@MODULE_FILENAME@', 'BOX2D_same' 
     663        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     664 
     665-- Deprecation in 1.2.3 
    381666CREATEFUNCTION box2d_intersects(box2d, box2d)  
    382667        RETURNS bool 
     
    384669        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    385670 
     671-- Availability: 1.2.2 
     672CREATEFUNCTION ST_box2d_intersects(box2d, box2d)  
     673        RETURNS bool 
     674        AS '@MODULE_FILENAME@', 'BOX2D_intersects' 
     675        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     676 
     677 
    386678-- lwgeom  operator support functions 
    387679 
     
    390682------------------------------------------------------------------- 
    391683 
     684-- Deprecation in 1.2.3 
    392685CREATEFUNCTION geometry_lt(geometry, geometry)  
    393686        RETURNS bool 
     
    395688        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    396689 
     690-- Availability: 1.2.2 
     691CREATEFUNCTION ST_geometry_lt(geometry, geometry)  
     692        RETURNS bool 
     693        AS '@MODULE_FILENAME@', 'lwgeom_lt' 
     694        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     695 
     696-- Deprecation in 1.2.3 
    397697CREATEFUNCTION geometry_le(geometry, geometry)  
    398698        RETURNS bool 
     
    400700        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    401701 
     702-- Availability: 1.2.2 
     703CREATEFUNCTION ST_geometry_le(geometry, geometry)  
     704        RETURNS bool 
     705        AS '@MODULE_FILENAME@', 'lwgeom_le' 
     706        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     707 
     708-- Deprecation in 1.2.3 
    402709CREATEFUNCTION geometry_gt(geometry, geometry)  
    403710        RETURNS bool 
     
    405712        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    406713 
     714-- Availability: 1.2.2 
     715CREATEFUNCTION ST_geometry_gt(geometry, geometry)  
     716        RETURNS bool 
     717        AS '@MODULE_FILENAME@', 'lwgeom_gt' 
     718        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     719 
     720-- Deprecation in 1.2.3 
    407721CREATEFUNCTION geometry_ge(geometry, geometry)  
    408722        RETURNS bool 
     
    410724        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    411725 
     726-- Availability: 1.2.2 
     727CREATEFUNCTION ST_geometry_ge(geometry, geometry)  
     728        RETURNS bool 
     729        AS '@MODULE_FILENAME@', 'lwgeom_ge' 
     730        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     731 
     732-- Deprecation in 1.2.3 
    412733CREATEFUNCTION geometry_eq(geometry, geometry)  
    413734        RETURNS bool 
     
    415736        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    416737 
     738-- Availability: 1.2.2 
     739CREATEFUNCTION ST_geometry_eq(geometry, geometry)  
     740        RETURNS bool 
     741        AS '@MODULE_FILENAME@', 'lwgeom_eq' 
     742        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     743 
     744-- Deprecation in 1.2.3 
    417745CREATEFUNCTION geometry_cmp(geometry, geometry)  
    418746        RETURNS integer 
     
    420748        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    421749 
     750-- Availability: 1.2.2 
     751CREATEFUNCTION ST_geometry_cmp(geometry, geometry)  
     752        RETURNS integer 
     753        AS '@MODULE_FILENAME@', 'lwgeom_cmp' 
     754        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     755 
    422756-- 
    423757-- Sorting operators for Btree 
     
    425759 
    426760CREATE OPERATOR < ( 
    427    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_lt, 
     761   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_lt, 
    428762   COMMUTATOR = '>', NEGATOR = '>=', 
    429763   RESTRICT = contsel, JOIN = contjoinsel 
     
    431765 
    432766CREATE OPERATOR <= ( 
    433    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_le, 
     767   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_le, 
    434768   COMMUTATOR = '>=', NEGATOR = '>', 
    435769   RESTRICT = contsel, JOIN = contjoinsel 
     
    437771 
    438772CREATE OPERATOR = ( 
    439    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_eq, 
     773   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_eq, 
    440774   COMMUTATOR = '=', -- we might implement a faster negator here 
    441775   RESTRICT = contsel, JOIN = contjoinsel 
     
    443777 
    444778CREATE OPERATOR >= ( 
    445    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_ge, 
     779   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_ge, 
    446780   COMMUTATOR = '<=', NEGATOR = '<', 
    447781   RESTRICT = contsel, JOIN = contjoinsel 
    448782); 
    449783CREATE OPERATOR > ( 
    450    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_gt, 
     784   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_gt, 
    451785   COMMUTATOR = '<', NEGATOR = '<=', 
    452786   RESTRICT = contsel, JOIN = contjoinsel 
     
    470804-- GiST indexes 
    471805------------------------------------------------------------------- 
     806-- Deprecation in 1.2.3 
    472807#if USE_VERSION < 73 
    473808CREATEFUNCTION postgis_gist_sel(opaque, oid,  opaque, int4) 
     
    479814        LANGUAGE 'C'; 
    480815 
     816-- Availability: 1.2.2 
     817#if USE_VERSION < 73 
     818CREATEFUNCTION ST_postgis_gist_sel(opaque, oid,  opaque, int4) 
     819#else 
     820CREATEFUNCTION ST_postgis_gist_sel (internal, oid, internal, int4) 
     821#endif 
     822        RETURNS float8 
     823        AS '@MODULE_FILENAME@', 'LWGEOM_gist_sel' 
     824        LANGUAGE 'C'; 
     825 
     826-- Deprecation in 1.2.3 
    481827#if USE_VERSION == 72 
    482828CREATEFUNCTION postgis_gist_joinsel(opaque, oid,  opaque) 
     
    490836        LANGUAGE 'C'; 
    491837 
     838-- Availability: 1.2.2 
     839#if USE_VERSION == 72 
     840CREATEFUNCTION ST_postgis_gist_joinsel(opaque, oid,  opaque) 
     841#elif USE_VERSION == 73 
     842CREATEFUNCTION ST_postgis_gist_joinsel(internal, oid,  internal) 
     843#else 
     844CREATEFUNCTION ST_postgis_gist_joinsel(internal, oid, internal, smallint) 
     845#endif 
     846        RETURNS float8 
     847        AS '@MODULE_FILENAME@', 'LWGEOM_gist_joinsel' 
     848        LANGUAGE 'C'; 
     849 
     850-- Deprecation in 1.2.3 
    492851CREATEFUNCTION geometry_overleft(geometry, geometry)  
    493852        RETURNS bool 
     
    495854        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    496855 
     856-- Availability: 1.2.2 
     857CREATEFUNCTION ST_geometry_overleft(geometry, geometry)  
     858        RETURNS bool 
     859        AS '@MODULE_FILENAME@', 'LWGEOM_overleft' 
     860        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     861 
     862-- Deprecation in 1.2.3 
    497863CREATEFUNCTION geometry_overright(geometry, geometry)  
    498864        RETURNS bool 
     
    500866        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    501867 
     868-- Availability: 1.2.2 
     869CREATEFUNCTION ST_geometry_overright(geometry, geometry)  
     870        RETURNS bool 
     871        AS '@MODULE_FILENAME@', 'LWGEOM_overright' 
     872        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     873 
     874-- Deprecation in 1.2.3 
    502875CREATEFUNCTION geometry_overabove(geometry, geometry)  
    503876        RETURNS bool 
     
    505878        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    506879 
     880-- Availability: 1.2.2 
     881CREATEFUNCTION ST_geometry_overabove(geometry, geometry)  
     882        RETURNS bool 
     883        AS '@MODULE_FILENAME@', 'LWGEOM_overabove' 
     884        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     885 
     886-- Deprecation in 1.2.3 
    507887CREATEFUNCTION geometry_overbelow(geometry, geometry)  
    508888        RETURNS bool 
     
    510890        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    511891 
     892-- Availability: 1.2.2 
     893CREATEFUNCTION ST_geometry_overbelow(geometry, geometry)  
     894        RETURNS bool 
     895        AS '@MODULE_FILENAME@', 'LWGEOM_overbelow' 
     896        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     897 
     898-- Deprecation in 1.2.3 
    512899CREATEFUNCTION geometry_left(geometry, geometry)  
    513900        RETURNS bool 
     
    515902        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    516903 
     904-- Availability: 1.2.2 
     905CREATEFUNCTION ST_geometry_left(geometry, geometry)  
     906        RETURNS bool 
     907        AS '@MODULE_FILENAME@', 'LWGEOM_left' 
     908        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     909 
     910-- Deprecation in 1.2.3 
    517911CREATEFUNCTION geometry_right(geometry, geometry)  
    518912        RETURNS bool 
     
    520914        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    521915 
     916-- Availability: 1.2.2 
     917CREATEFUNCTION ST_geometry_right(geometry, geometry)  
     918        RETURNS bool 
     919        AS '@MODULE_FILENAME@', 'LWGEOM_right' 
     920        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     921 
     922-- Deprecation in 1.2.3 
    522923CREATEFUNCTION geometry_above(geometry, geometry)  
    523924        RETURNS bool 
     
    525926        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    526927 
     928-- Availability: 1.2.2 
     929CREATEFUNCTION ST_geometry_above(geometry, geometry)  
     930        RETURNS bool 
     931        AS '@MODULE_FILENAME@', 'LWGEOM_above' 
     932        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     933 
     934-- Deprecation in 1.2.3 
    527935CREATEFUNCTION geometry_below(geometry, geometry)  
    528936        RETURNS bool 
     
    530938        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    531939 
     940-- Availability: 1.2.2 
     941CREATEFUNCTION ST_geometry_below(geometry, geometry)  
     942        RETURNS bool 
     943        AS '@MODULE_FILENAME@', 'LWGEOM_below' 
     944        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     945 
     946-- Deprecation in 1.2.3 
    532947CREATEFUNCTION geometry_contain(geometry, geometry)  
    533948        RETURNS bool 
     
    535950        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    536951 
     952-- Availability: 1.2.2 
     953CREATEFUNCTION ST_geometry_contain(geometry, geometry)  
     954        RETURNS bool 
     955        AS '@MODULE_FILENAME@', 'LWGEOM_contain' 
     956        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     957 
     958-- Deprecation in 1.2.3 
    537959CREATEFUNCTION geometry_contained(geometry, geometry)  
    538960        RETURNS bool 
     
    540962        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    541963 
     964-- Availability: 1.2.2 
     965CREATEFUNCTION ST_geometry_contained(geometry, geometry)  
     966        RETURNS bool 
     967        AS '@MODULE_FILENAME@', 'LWGEOM_contained' 
     968        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     969 
     970-- Deprecation in 1.2.3 
    542971CREATEFUNCTION geometry_overlap(geometry, geometry)  
    543972        RETURNS bool 
     
    545974        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    546975 
     976-- Availability: 1.2.2 
     977CREATEFUNCTION ST_geometry_overlap(geometry, geometry)  
     978        RETURNS bool 
     979        AS '@MODULE_FILENAME@', 'LWGEOM_overlap' 
     980        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     981 
     982-- Deprecation in 1.2.3 
    547983CREATEFUNCTION geometry_same(geometry, geometry)  
    548984        RETURNS bool 
     
    550986        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    551987 
     988--Availability: 1.2.2 
     989CREATEFUNCTION ST_geometry_same(geometry, geometry)  
     990        RETURNS bool 
     991        AS '@MODULE_FILENAME@', 'LWGEOM_same' 
     992        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     993 
    552994-- GEOMETRY operators 
    553995 
    554996CREATE OPERATOR << ( 
    555    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_left, 
     997   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_left, 
    556998   COMMUTATOR = '>>', 
    557999   RESTRICT = positionsel, JOIN = positionjoinsel 
     
    5591001 
    5601002CREATE OPERATOR &< ( 
    561    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overleft, 
     1003   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_overleft, 
    5621004   COMMUTATOR = '&>', 
    5631005   RESTRICT = positionsel, JOIN = positionjoinsel 
     
    5651007 
    5661008CREATE OPERATOR <<| ( 
    567    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_below, 
     1009   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_below, 
    5681010   COMMUTATOR = '|>>', 
    5691011   RESTRICT = positionsel, JOIN = positionjoinsel 
     
    5711013 
    5721014CREATE OPERATOR &<| ( 
    573    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overbelow, 
     1015   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_overbelow, 
    5741016   COMMUTATOR = '|&>', 
    5751017   RESTRICT = positionsel, JOIN = positionjoinsel 
     
    5771019 
    5781020CREATE OPERATOR && ( 
    579    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overlap, 
     1021   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_overlap, 
    5801022   COMMUTATOR = '&&', 
    581    RESTRICT = postgis_gist_sel, JOIN = postgis_gist_joinsel 
     1023   RESTRICT = ST_postgis_gist_sel, JOIN = ST_postgis_gist_joinsel 
    5821024); 
    5831025 
    5841026CREATE OPERATOR &> ( 
    585    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overright, 
     1027   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_overright, 
    5861028   COMMUTATOR = '&<', 
    5871029   RESTRICT = positionsel, JOIN = positionjoinsel 
     
    5891031 
    5901032CREATE OPERATOR >> ( 
    591    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_right, 
     1033   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_right, 
    5921034   COMMUTATOR = '<<', 
    5931035   RESTRICT = positionsel, JOIN = positionjoinsel 
     
    5951037 
    5961038CREATE OPERATOR |&> ( 
    597    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overabove, 
     1039   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_overabove, 
    5981040   COMMUTATOR = '&<|', 
    5991041   RESTRICT = positionsel, JOIN = positionjoinsel 
     
    6011043 
    6021044CREATE OPERATOR |>> ( 
    603    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_above, 
     1045   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_above, 
    6041046   COMMUTATOR = '<<|', 
    6051047   RESTRICT = positionsel, JOIN = positionjoinsel 
     
    6071049 
    6081050CREATE OPERATOR ~= ( 
    609    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_same, 
     1051   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_same, 
    6101052   COMMUTATOR = '~=',  
    6111053   RESTRICT = eqsel, JOIN = eqjoinsel 
     
    6131055 
    6141056CREATE OPERATOR @ ( 
    615    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_contained, 
     1057   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_contained, 
    6161058   COMMUTATOR = '~', 
    6171059   RESTRICT = contsel, JOIN = contjoinsel 
     
    6191061 
    6201062CREATE OPERATOR ~ ( 
    621    LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_contain, 
     1063   LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_contain, 
    6221064   COMMUTATOR = '@', 
    6231065   RESTRICT = contsel, JOIN = contjoinsel 
     
    9071349------------------------------------------- 
    9081350 
     1351-- Deprecation in 1.2.3 
    9091352CREATEFUNCTION addBBOX(geometry)  
    9101353        RETURNS geometry 
     
    9121355        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    9131356 
     1357-- Availability: 1.2.2 
     1358CREATEFUNCTION ST_addBBOX(geometry)  
     1359        RETURNS geometry 
     1360        AS '@MODULE_FILENAME@','LWGEOM_addBBOX' 
     1361        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     1362 
     1363-- Deprecation in 1.2.3 
    9141364CREATEFUNCTION dropBBOX(geometry)  
    9151365        RETURNS geometry 
     
    9171367        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    9181368 
     1369-- Availability: 1.2.2 
     1370CREATEFUNCTION ST_dropBBOX(geometry)  
     1371        RETURNS geometry 
     1372        AS '@MODULE_FILENAME@','LWGEOM_dropBBOX' 
     1373        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    9191374         
     1375-- Deprecation in 1.2.3 
    9201376CREATEFUNCTION getSRID(geometry)  
    9211377        RETURNS int4 
     
    9231379        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    9241380 
     1381-- Availability: 1.2.2 
     1382CREATEFUNCTION getSRID(geometry)  
     1383        RETURNS int4 
     1384        AS '@MODULE_FILENAME@','LWGEOM_getSRID' 
     1385        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     1386 
     1387-- Deprecation in 1.2.3 
    9251388CREATEFUNCTION getBBOX(geometry) 
    9261389        RETURNS box2d 
     
    9281391        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    9291392 
     1393-- Availability: 1.2.2 
     1394CREATEFUNCTION getBBOX(geometry) 
     1395        RETURNS box2d 
     1396        AS '@MODULE_FILENAME@','LWGEOM_to_BOX2DFLOAT4' 
     1397        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     1398 
    9301399------------------------------------------- 
    9311400--- CHIP functions 
    9321401------------------------------------------- 
    9331402 
     1403-- Deprecation in 1.2.3 
    9341404CREATEFUNCTION srid(chip) 
    9351405        RETURNS int4 
     
    9371407        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    9381408 
     1409-- Availability: 1.2.2 
     1410CREATEFUNCTION ST_srid(chip) 
     1411        RETURNS int4 
     1412        AS '@MODULE_FILENAME@','CHIP_getSRID' 
     1413        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1414 
     1415-- Deprecation in 1.2.3 
    9391416CREATEFUNCTION height(chip) 
    9401417        RETURNS int4 
     
    9421419        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    9431420 
     1421-- Availability: 1.2.2 
     1422CREATEFUNCTION ST_height(chip) 
     1423        RETURNS int4 
     1424        AS '@MODULE_FILENAME@','CHIP_getHeight' 
     1425        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1426 
     1427-- Deprecation in 1.2.3 
    9441428CREATEFUNCTION factor(chip) 
    9451429        RETURNS FLOAT4 
     
    9471431        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    9481432 
     1433-- Availability: 1.2.2 
     1434CREATEFUNCTION ST_factor(chip) 
     1435        RETURNS FLOAT4 
     1436        AS '@MODULE_FILENAME@','CHIP_getFactor' 
     1437        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1438 
     1439-- Deprecation in 1.2.3 
    9491440CREATEFUNCTION width(chip) 
    9501441        RETURNS int4 
     
    9521443        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    9531444 
     1445-- Availability: 1.2.2 
     1446CREATEFUNCTION ST_width(chip) 
     1447        RETURNS int4 
     1448        AS '@MODULE_FILENAME@','CHIP_getWidth' 
     1449        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1450 
     1451-- Deprecation in 1.2.3 
    9541452CREATEFUNCTION datatype(chip) 
    9551453        RETURNS int4 
     
    9571455        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    9581456 
     1457-- Availability: 1.2.2 
     1458CREATEFUNCTION ST_datatype(chip) 
     1459        RETURNS int4 
     1460        AS '@MODULE_FILENAME@','CHIP_getDatatype' 
     1461        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1462 
     1463-- Deprecation in 1.2.3 
    9591464CREATEFUNCTION compression(chip) 
    9601465        RETURNS int4 
     
    9621467        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    9631468 
     1469-- Availability: 1.2.2 
     1470CREATEFUNCTION ST_compression(chip) 
     1471        RETURNS int4 
     1472        AS '@MODULE_FILENAME@','CHIP_getCompression' 
     1473        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1474 
     1475-- Deprecation in 1.2.3 
    9641476CREATEFUNCTION setSRID(chip,int4) 
    9651477        RETURNS chip 
     
    9671479        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    9681480 
     1481-- Deprecation in 1.2.3 
    9691482CREATEFUNCTION setFactor(chip,float4) 
    9701483        RETURNS chip 
     
    9721485        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    9731486 
     1487-- Availability: 1.2.2 
     1488CREATEFUNCTION ST_setFactor(chip,float4) 
     1489        RETURNS chip 
     1490        AS '@MODULE_FILENAME@','CHIP_setFactor' 
     1491        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     1492 
    9741493------------------------------------------------------------------------ 
    9751494-- DEBUG 
    9761495------------------------------------------------------------------------ 
    9771496 
     1497-- Deprecation in 1.2.3 
    9781498CREATEFUNCTION mem_size(geometry) 
    9791499        RETURNS int4 
     
    9811501        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    9821502 
     1503-- Availability: 1.2.2 
     1504CREATEFUNCTION ST_mem_size(geometry) 
     1505        RETURNS int4 
     1506        AS '@MODULE_FILENAME@', 'LWGEOM_mem_size' 
     1507        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1508 
     1509-- Deprecation in 1.2.3 
    9831510CREATEFUNCTION summary(geometry) 
    9841511        RETURNS text 
     
    9861513        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    9871514 
     1515-- Availability: 1.2.2 
     1516CREATEFUNCTION ST_summary(geometry) 
     1517        RETURNS text 
     1518        AS '@MODULE_FILENAME@', 'LWGEOM_summary' 
     1519        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1520 
     1521-- Deprecation in 1.2.3 
    9881522CREATEFUNCTION npoints(geometry) 
    9891523        RETURNS int4 
     
    9911525        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    9921526 
     1527-- Availability: 1.2.2 
     1528CREATEFUNCTION ST_npoints(geometry) 
     1529        RETURNS int4 
     1530        AS '@MODULE_FILENAME@', 'LWGEOM_npoints' 
     1531        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1532 
     1533-- Deprecation in 1.2.3 
    9931534CREATEFUNCTION nrings(geometry) 
    9941535        RETURNS int4 
     
    9961537        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    9971538 
     1539-- Availability: 1.2.2 
     1540CREATEFUNCTION ST_nrings(geometry) 
     1541        RETURNS int4 
     1542        AS '@MODULE_FILENAME@', 'LWGEOM_nrings' 
     1543        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1544 
    9981545------------------------------------------------------------------------ 
    9991546-- Misures 
     
    10021549-- this is a fake (for back-compatibility) 
    10031550-- uses 3d if 3d is available, 2d otherwise 
     1551-- Deprecation in 1.2.3 
    10041552CREATEFUNCTION length3d(geometry) 
    10051553        RETURNS FLOAT8 
     
    10071555        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    10081556 
     1557-- Availability: 1.2.2 
     1558CREATEFUNCTION ST_length3d(geometry) 
     1559        RETURNS FLOAT8 
     1560        AS '@MODULE_FILENAME@', 'LWGEOM_length_linestring' 
     1561        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1562 
     1563-- Deprecation in 1.2.3 
    10091564CREATEFUNCTION length2d(geometry) 
    10101565        RETURNS FLOAT8 
     
    10121567        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    10131568 
     1569-- Availability: 1.2.2 
     1570CREATEFUNCTION ST_length2d(geometry) 
     1571        RETURNS FLOAT8 
     1572        AS '@MODULE_FILENAME@', 'LWGEOM_length2d_linestring' 
     1573        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1574 
    10141575CREATEFUNCTION length(geometry) 
    10151576        RETURNS FLOAT8 
     
    10191580-- this is a fake (for back-compatibility) 
    10201581-- uses 3d if 3d is available, 2d otherwise 
     1582-- Deprecation in 1.2.3 
    10211583CREATEFUNCTION length3d_spheroid(geometry, spheroid) 
    10221584        RETURNS FLOAT8 
     
    10241586        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    10251587 
     1588-- Availability: 1.2.2 
     1589CREATEFUNCTION ST_length3d_spheroid(geometry, spheroid) 
     1590        RETURNS FLOAT8 
     1591        AS '@MODULE_FILENAME@','LWGEOM_length_ellipsoid_linestring' 
     1592        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1593 
     1594-- Deprecation in 1.2.3 
    10261595CREATEFUNCTION length_spheroid(geometry, spheroid) 
    10271596        RETURNS FLOAT8 
     
    10291598        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    10301599 
     1600-- Availability: 1.2.2 
     1601CREATEFUNCTION ST_length_spheroid(geometry, spheroid) 
     1602        RETURNS FLOAT8 
     1603        AS '@MODULE_FILENAME@','LWGEOM_length_ellipsoid_linestring' 
     1604        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1605 
     1606-- Deprecation in 1.2.3 
    10311607CREATEFUNCTION length2d_spheroid(geometry, spheroid) 
    10321608        RETURNS FLOAT8 
     
    10341610        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    10351611 
     1612-- Availability: 1.2.2 
     1613CREATEFUNCTION ST_length2d_spheroid(geometry, spheroid) 
     1614        RETURNS FLOAT8 
     1615        AS '@MODULE_FILENAME@','LWGEOM_length2d_ellipsoid_linestring' 
     1616        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1617 
    10361618-- this is a fake (for back-compatibility) 
    10371619-- uses 3d if 3d is available, 2d otherwise 
     1620-- Deprecation in 1.2.3 
    10381621CREATEFUNCTION perimeter3d(geometry) 
    10391622        RETURNS FLOAT8 
     
    10411624        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    10421625 
     1626-- Availability: 1.2.2 
     1627CREATEFUNCTION ST_perimeter3d(geometry) 
     1628        RETURNS FLOAT8 
     1629        AS '@MODULE_FILENAME@', 'LWGEOM_perimeter_poly' 
     1630        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1631 
     1632-- Deprecation in 1.2.3 
    10431633CREATEFUNCTION perimeter2d(geometry) 
    10441634        RETURNS FLOAT8 
     
    10461636        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    10471637 
     1638-- Availability: 1.2.2 
     1639CREATEFUNCTION ST_perimeter2d(geometry) 
     1640        RETURNS FLOAT8 
     1641        AS '@MODULE_FILENAME@', 'LWGEOM_perimeter2d_poly' 
     1642        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1643 
     1644-- Deprecation in 1.2.3 
    10481645CREATEFUNCTION perimeter(geometry) 
    10491646        RETURNS FLOAT8 
     
    10531650-- this is an alias for 'area(geometry)' 
    10541651-- there is nothing such an 'area3d'... 
     1652-- Deprecation in 1.2.3 
    10551653CREATEFUNCTION area2d(geometry) 
    10561654        RETURNS FLOAT8 
     
    10581656        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    10591657 
     1658-- Availability: 1.2.2 
     1659CREATEFUNCTION ST_area2d(geometry) 
     1660        RETURNS FLOAT8 
     1661        AS '@MODULE_FILENAME@', 'LWGEOM_area_polygon' 
     1662        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1663 
     1664-- Deprecation in 1.2.3 
    10601665CREATEFUNCTION area(geometry) 
    10611666        RETURNS FLOAT8 
     
    10631668        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    10641669 
     1670-- Deprecation in 1.2.3 
    10651671CREATEFUNCTION distance_spheroid(geometry,geometry,spheroid) 
    10661672        RETURNS FLOAT8 
     
    10681674        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    10691675 
     1676-- Availability: 1.2.2 
     1677CREATEFUNCTION ST_distance_spheroid(geometry,geometry,spheroid) 
     1678        RETURNS FLOAT8 
     1679        AS '@MODULE_FILENAME@','LWGEOM_distance_ellipsoid_point' 
     1680        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1681 
     1682-- Deprecation in 1.2.3 
    10701683CREATEFUNCTION distance_sphere(geometry,geometry) 
    10711684        RETURNS FLOAT8 
     
    10731686        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    10741687 
     1688-- Availability: 1.2.2 
     1689CREATEFUNCTION ST_distance_sphere(geometry,geometry) 
     1690        RETURNS FLOAT8 
     1691        AS '@MODULE_FILENAME@','LWGEOM_distance_sphere' 
     1692        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1693 
    10751694-- Minimum distance. 2d only. 
     1695-- Deprecation in 1.2.3 
    10761696CREATEFUNCTION distance(geometry,geometry) 
    10771697        RETURNS float8 
     
    10801700 
    10811701-- Maximum distance between linestrings. 2d only. Very bogus. 
     1702-- Deprecation in 1.2.3 
    10821703CREATEFUNCTION max_distance(geometry,geometry) 
    10831704        RETURNS float8 
     
    10851706        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    10861707 
     1708-- Availability: 1.2.2 
     1709CREATEFUNCTION ST_max_distance(geometry,geometry) 
     1710        RETURNS float8 
     1711        AS '@MODULE_FILENAME@', 'LWGEOM_maxdistance2d_linestring' 
     1712        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     1713 
     1714-- Deprecation in 1.2.3 
    10871715CREATEFUNCTION point_inside_circle(geometry,float8,float8,float8) 
    10881716        RETURNS bool 
     
    10901718        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    10911719 
     1720-- Availability: 1.2.2 
     1721CREATEFUNCTION ST_point_inside_circle(geometry,float8,float8,float8) 
     1722        RETURNS bool 
     1723        AS '@MODULE_FILENAME@', 'LWGEOM_inside_circle_point' 
     1724        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1725 
     1726-- Deprecation in 1.2.3 
    10921727CREATEFUNCTION azimuth(geometry,geometry) 
    10931728        RETURNS float8 
     
    10951730        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    10961731 
     1732-- Availability: 1.2.2 
     1733CREATEFUNCTION ST_azimuth(geometry,geometry) 
     1734        RETURNS float8 
     1735        AS '@MODULE_FILENAME@', 'LWGEOM_azimuth' 
     1736        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    10971737 
    10981738------------------------------------------------------------------------ 
     
    11001740------------------------------------------------------------------------ 
    11011741 
     1742-- Deprecation in 1.2.3 
    11021743CREATEFUNCTION force_2d(geometry)  
    11031744        RETURNS geometry 
     
    11051746        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    11061747 
     1748-- Availability: 1.2.2 
     1749CREATEFUNCTION ST_force_2d(geometry)  
     1750        RETURNS geometry 
     1751        AS '@MODULE_FILENAME@', 'LWGEOM_force_2d' 
     1752        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1753 
     1754-- Deprecation in 1.2.3 
    11071755CREATEFUNCTION force_3dz(geometry)  
    11081756        RETURNS geometry 
     
    11101758        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    11111759 
     1760-- Availability: 1.2.2 
     1761CREATEFUNCTION ST_force_3dz(geometry)  
     1762        RETURNS geometry 
     1763        AS '@MODULE_FILENAME@', 'LWGEOM_force_3dz' 
     1764        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1765 
    11121766-- an alias for force_3dz 
     1767-- Deprecation in 1.2.3 
    11131768CREATEFUNCTION force_3d(geometry)  
    11141769        RETURNS geometry 
     
    11161771        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    11171772 
     1773-- Availability: 1.2.2 
     1774CREATEFUNCTION ST_force_3d(geometry)  
     1775        RETURNS geometry 
     1776        AS '@MODULE_FILENAME@', 'LWGEOM_force_3dz' 
     1777        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1778 
     1779-- Deprecation in 1.2.3 
    11181780CREATEFUNCTION force_3dm(geometry)  
    11191781        RETURNS geometry 
     
    11211783        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    11221784 
     1785-- Availability: 1.2.2 
     1786CREATEFUNCTION ST_force_3dm(geometry)  
     1787        RETURNS geometry 
     1788        AS '@MODULE_FILENAME@', 'LWGEOM_force_3dm' 
     1789        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1790 
     1791-- Deprecation in 1.2.3 
    11231792CREATEFUNCTION force_4d(geometry)  
    11241793        RETURNS geometry 
     
    11261795        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    11271796 
     1797-- Availability: 1.2.2 
     1798CREATEFUNCTION ST_force_4d(geometry)  
     1799        RETURNS geometry 
     1800        AS '@MODULE_FILENAME@', 'LWGEOM_force_4d' 
     1801        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1802 
     1803-- Deprecation in 1.2.3 
    11281804CREATEFUNCTION force_collection(geometry)  
    11291805        RETURNS geometry 
     
    11311807        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    11321808 
     1809-- Availability: 1.2.2 
     1810CREATEFUNCTION ST_force_collection(geometry)  
     1811        RETURNS geometry 
     1812        AS '@MODULE_FILENAME@', 'LWGEOM_force_collection' 
     1813        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1814 
     1815-- Deprecation in 1.2.3 
    11331816CREATEFUNCTION multi(geometry)  
    11341817        RETURNS geometry 
     
    11361819        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    11371820 
     1821-- Availability: 1.2.2 
     1822CREATEFUNCTION ST_multi(geometry)  
     1823        RETURNS geometry 
     1824        AS '@MODULE_FILENAME@', 'LWGEOM_force_multi' 
     1825        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     1826 
     1827-- Deprecation in 1.2.3 
    11381828CREATEFUNCTION collector(geometry, geometry)  
    11391829        RETURNS geometry 
     
    11411831        LANGUAGE 'C' _IMMUTABLE; 
    11421832 
    1143 CREATEFUNCTION collect(geometry, geometry)  
     1833-- Availability: 1.2.2 
     1834CREATEFUNCTION ST_collector(geometry, geometry)  
    11441835        RETURNS geometry 
    11451836        AS '@MODULE_FILENAME@', 'LWGEOM_collect' 
    11461837        LANGUAGE 'C' _IMMUTABLE; 
    11471838 
     1839-- Deprecation in 1.2.3 
     1840CREATEFUNCTION collect(geometry, geometry)  
     1841        RETURNS geometry 
     1842        AS '@MODULE_FILENAME@', 'LWGEOM_collect' 
     1843        LANGUAGE 'C' _IMMUTABLE; 
     1844 
     1845-- Availability: 1.2.2 
     1846CREATEFUNCTION ST_collect(geometry, geometry)  
     1847        RETURNS geometry 
     1848        AS '@MODULE_FILENAME@', 'LWGEOM_collect' 
     1849        LANGUAGE 'C' _IMMUTABLE; 
     1850 
     1851-- Deprecation in 1.2.3 
    11481852CREATE AGGREGATE memcollect( 
    1149         sfunc = collect, 
     1853        sfunc = ST_collect, 
    11501854        basetype = geometry, 
    11511855        stype = geometry 
    11521856        ); 
    11531857 
     1858-- Availability: 1.2.2 
     1859CREATE AGGREGATE ST_memcollect( 
     1860        sfunc = ST_collect, 
     1861        basetype = geometry, 
     1862        stype = geometry 
     1863        ); 
     1864 
     1865-- Deprecation in 1.2.3 
    11541866CREATEFUNCTION geom_accum (geometry[],geometry) 
    11551867        RETURNS geometry[] 
     
    11571869        LANGUAGE 'C' _IMMUTABLE; 
    11581870 
     1871-- Availability: 1.2.2 
     1872CREATEFUNCTION ST_geom_accum (geometry[],geometry) 
     1873        RETURNS geometry[] 
     1874        AS '@MODULE_FILENAME@', 'LWGEOM_accum' 
     1875        LANGUAGE 'C' _IMMUTABLE; 
     1876 
     1877-- Deprecation in 1.2.3 
    11591878CREATE AGGREGATE accum ( 
    1160         sfunc = geom_accum, 
     1879        sfunc = ST_geom_accum, 
    11611880        basetype = geometry, 
    11621881        stype = geometry[] 
    11631882        ); 
    11641883 
     1884-- Availability: 1.2.2 
     1885CREATE AGGREGATE ST_accum ( 
     1886        sfunc = ST_geom_accum, 
     1887        basetype = geometry, 
     1888        stype = geometry[] 
     1889        ); 
     1890 
     1891-- Deprecation in 1.2.3 
    11651892CREATEFUNCTION collect_garray (geometry[]) 
    11661893        RETURNS geometry 
     
    11681895        LANGUAGE 'C' _IMMUTABLE_STRICT; 
    11691896 
     1897-- Availability: 1.2.2 
     1898CREATEFUNCTION ST_collect_garray (geometry[]) 
     1899        RETURNS geometry 
     1900        AS '@MODULE_FILENAME@', 'LWGEOM_collect_garray' 
     1901        LANGUAGE 'C' _IMMUTABLE_STRICT; 
     1902 
     1903-- Deprecation in 1.2.3 
    11701904CREATE AGGREGATE collect ( 
    1171         sfunc = geom_accum, 
     1905        sfunc = ST_geom_accum, 
    11721906        basetype = geometry, 
    11731907        stype = geometry[], 
    1174         finalfunc = collect_garray 
     1908        finalfunc = ST_collect_garray 
    11751909        ); 
    11761910 
     1911 
     1912-- Availability: 1.2.2 
     1913CREATE AGGREGATE ST_collect ( 
     1914        sfunc = ST_geom_accum, 
     1915        basetype = geometry, 
     1916        stype = geometry[], 
     1917        finalfunc = ST_collect_garray 
     1918        ); 
     1919 
     1920-- Deprecation in 1.2.3 
    11771921CREATEFUNCTION expand(box3d,float8) 
    11781922        RETURNS box3d 
     
    11801924        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    11811925 
     1926-- Availability: 1.2.2 
     1927CREATEFUNCTION ST_expand(box3d,float8) 
     1928        RETURNS box3d 
     1929        AS '@MODULE_FILENAME@', 'BOX3D_expand' 
     1930        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     1931 
     1932-- Deprecation in 1.2.3 
    11821933CREATEFUNCTION expand(box2d,float8) 
    11831934        RETURNS box2d 
     
    11851936        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    11861937 
     1938-- Availability: 1.2.2 
     1939CREATEFUNCTION ST_expand(box2d,float8) 
     1940        RETURNS box2d 
     1941        AS '@MODULE_FILENAME@', 'BOX2DFLOAT4_expand' 
     1942        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     1943 
     1944-- Deprecation in 1.2.3 
    11871945CREATEFUNCTION expand(geometry,float8) 
    11881946        RETURNS geometry 
     
    11901948        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    11911949 
     1950-- Availability: 1.2.2 
     1951CREATEFUNCTION ST_expand(geometry,float8) 
     1952        RETURNS geometry 
     1953        AS '@MODULE_FILENAME@', 'LWGEOM_expand' 
     1954        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     1955 
     1956-- Deprecation in 1.2.3 
    11921957CREATEFUNCTION envelope(geometry) 
    11931958        RETURNS geometry 
     
    11951960        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    11961961 
     1962-- Deprecation in 1.2.3 
    11971963CREATEFUNCTION reverse(geometry) 
    11981964        RETURNS geometry 
     
    12001966        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    12011967 
     1968-- Availability: 1.2.2 
     1969CREATEFUNCTION reverse(geometry) 
     1970        RETURNS geometry 
     1971        AS '@MODULE_FILENAME@', 'LWGEOM_reverse' 
     1972        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     1973 
     1974-- Deprecation in 1.2.3 
    12021975CREATEFUNCTION ForceRHR(geometry) 
    12031976        RETURNS geometry 
     
    12051978        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    12061979 
     1980-- Availability: 1.2.2 
     1981CREATEFUNCTION ForceRHR(geometry) 
     1982        RETURNS geometry 
     1983        AS '@MODULE_FILENAME@', 'LWGEOM_forceRHR_poly' 
     1984        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     1985 
     1986-- Deprecation in 1.2.3 
    12071987CREATEFUNCTION noop(geometry) 
    12081988        RETURNS geometry 
     
    12101990        LANGUAGE 'C' _VOLATILE_STRICT; -- WITH (iscachable,isstrict); 
    12111991 
     1992-- Availability: 1.2.2 
     1993CREATEFUNCTION ST_noop(geometry) 
     1994        RETURNS geometry 
     1995        AS '@MODULE_FILENAME@', 'LWGEOM_noop' 
     1996        LANGUAGE 'C' _VOLATILE_STRICT; -- WITH (iscachable,isstrict); 
     1997 
     1998-- Deprecation in 1.2.3 
    12121999CREATEFUNCTION zmflag(geometry) 
    12132000        RETURNS smallint 
     
    12152002        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    12162003 
     2004-- Availability: 1.2.2 
     2005CREATEFUNCTION ST_zmflag(geometry) 
     2006        RETURNS smallint 
     2007        AS '@MODULE_FILENAME@', 'LWGEOM_zmflag' 
     2008        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2009 
     2010-- Deprecation in 1.2.3 
    12172011CREATEFUNCTION hasBBOX(geometry) 
    12182012        RETURNS bool 
     
    12202014        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    12212015 
     2016-- Availabitily: 1.2.2 
     2017CREATEFUNCTION hasBBOX(geometry) 
     2018        RETURNS bool 
     2019        AS '@MODULE_FILENAME@', 'LWGEOM_hasBBOX' 
     2020        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2021 
     2022-- Deprecation in 1.2.3 
    12222023CREATEFUNCTION ndims(geometry) 
    12232024        RETURNS smallint 
     
    12252026        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    12262027 
     2028-- Availability: 1.2.2 
     2029CREATEFUNCTION ST_ndims(geometry) 
     2030        RETURNS smallint 
     2031        AS '@MODULE_FILENAME@', 'LWGEOM_ndims' 
     2032        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2033 
     2034-- Deprecation in 1.2.3 
    12272035CREATEFUNCTION AsEWKT(geometry) 
    12282036        RETURNS TEXT 
     
    12302038        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    12312039 
     2040-- Availability: 1.2.2 
     2041CREATEFUNCTION ST_AsEWKT(geometry) 
     2042        RETURNS TEXT 
     2043        AS '@MODULE_FILENAME@','LWGEOM_asEWKT' 
     2044        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     2045 
     2046-- Deprecation in 1.2.3 
    12322047CREATEFUNCTION AsEWKB(geometry) 
    12332048        RETURNS BYTEA 
     
    12352050        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    12362051 
     2052-- Availability: 1.2.2 
     2053CREATEFUNCTION ST_AsEWKB(geometry) 
     2054        RETURNS BYTEA 
     2055        AS '@MODULE_FILENAME@','WKBFromLWGEOM' 
     2056        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     2057 
     2058-- Deprecation in 1.2.3 
    12372059CREATEFUNCTION AsHEXEWKB(geometry) 
    12382060        RETURNS TEXT 
     
    12402062        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    12412063 
     2064-- Availability: 1.2.2 
     2065CREATEFUNCTION ST_AsHEXEWKB(geometry) 
     2066        RETURNS TEXT 
     2067        AS '@MODULE_FILENAME@','LWGEOM_asHEXEWKB' 
     2068        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     2069 
     2070-- Deprecation in 1.2.3 
    12422071CREATEFUNCTION AsHEXEWKB(geometry, text) 
    12432072        RETURNS TEXT 
     
    12452074        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    12462075 
     2076-- Availability: 1.2.2 
     2077CREATEFUNCTION ST_AsHEXEWKB(geometry, text) 
     2078        RETURNS TEXT 
     2079        AS '@MODULE_FILENAME@','LWGEOM_asHEXEWKB' 
     2080        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     2081 
     2082-- Deprecation in 1.2.3 
    12472083CREATEFUNCTION AsEWKB(geometry,text) 
    12482084        RETURNS bytea 
     
    12502086        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    12512087 
     2088-- Availability: 1.2.2 
     2089CREATEFUNCTION ST_AsEWKB(geometry,text) 
     2090        RETURNS bytea 
     2091        AS '@MODULE_FILENAME@','WKBFromLWGEOM' 
     2092        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     2093 
     2094-- Deprecation in 1.2.3 
    12522095CREATEFUNCTION GeomFromEWKB(bytea) 
    12532096        RETURNS geometry 
     
    12552098        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    12562099 
     2100-- Availability: 1.2.2 
     2101CREATEFUNCTION ST_GeomFromEWKB(bytea) 
     2102        RETURNS geometry 
     2103        AS '@MODULE_FILENAME@','LWGEOMFromWKB' 
     2104        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     2105 
     2106-- Deprecation in 1.2.3 
    12572107CREATEFUNCTION GeomFromEWKT(text) 
    12582108        RETURNS geometry 
     
    12602110        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    12612111 
     2112-- Availability: 1.2.2 
     2113CREATEFUNCTION ST_GeomFromEWKT(text) 
     2114        RETURNS geometry 
     2115        AS '@MODULE_FILENAME@','parse_WKT_lwgeom' 
     2116        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     2117 
     2118-- Deprecation in 1.2.3 
    12622119CREATEFUNCTION cache_bbox() 
     2120        RETURNS trigger 
     2121        AS '@MODULE_FILENAME@' 
     2122        LANGUAGE 'C'; 
     2123 
     2124-- Availability: 1.2.2 
     2125CREATEFUNCTION ST_cache_bbox() 
    12632126        RETURNS trigger 
    1264         AS '@MODULE_FILENAME@' 
     2127        AS '@MODULE_FILENAME@','cache_bbox' 
    12652128        LANGUAGE 'C'; 
    12662129 
     
    12692132------------------------------------------------------------------------ 
    12702133 
     2134-- Deprecation in 1.2.3 
    12712135CREATEFUNCTION makePoint(float8, float8) 
    12722136        RETURNS geometry 
     
    12742138        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    12752139 
    1276 CREATEFUNCTION makePoint(float8, float8, float8) 
     2140-- Availability: 1.2.2 
     2141CREATEFUNCTION ST_makePoint(float8, float8) 
    12772142        RETURNS geometry 
    12782143        AS '@MODULE_FILENAME@', 'LWGEOM_makepoint' 
    12792144        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    12802145 
    1281 CREATEFUNCTION makePoint(float8, float8, float8, float8) 
     2146-- Deprecation in 1.2.3 
     2147CREATEFUNCTION makePoint(float8, float8, float8) 
    12822148        RETURNS geometry 
    12832149        AS '@MODULE_FILENAME@', 'LWGEOM_makepoint' 
    12842150        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    12852151 
     2152-- Availability: 1.2.2 
     2153CREATEFUNCTION ST_makePoint(float8, float8, float8) 
     2154        RETURNS geometry 
     2155        AS '@MODULE_FILENAME@', 'LWGEOM_makepoint' 
     2156        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2157 
     2158-- Deprecation in 1.2.3 
     2159CREATEFUNCTION makePoint(float8, float8, float8, float8) 
     2160        RETURNS geometry 
     2161        AS '@MODULE_FILENAME@', 'LWGEOM_makepoint' 
     2162        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2163 
     2164-- Availability: 1.2.2 
     2165CREATEFUNCTION ST_makePoint(float8, float8, float8, float8) 
     2166        RETURNS geometry 
     2167        AS '@MODULE_FILENAME@', 'LWGEOM_makepoint' 
     2168        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2169 
     2170-- Deprecation in 1.2.3 
    12862171CREATEFUNCTION makePointM(float8, float8, float8) 
    12872172        RETURNS geometry 
     
    12892174        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    12902175 
     2176-- Availability: 1.2.2 
     2177CREATEFUNCTION makePointM(float8, float8, float8) 
     2178        RETURNS geometry 
     2179        AS '@MODULE_FILENAME@', 'LWGEOM_makepoint3dm' 
     2180        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2181 
     2182-- Deprecation in 1.2.3 
    12912183CREATEFUNCTION makeBox2d(geometry, geometry) 
    12922184        RETURNS box2d 
     
    12942186        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    12952187 
     2188-- Availability: 1.2.2 
     2189CREATEFUNCTION ST_makeBox2d(geometry, geometry) 
     2190        RETURNS box2d 
     2191        AS '@MODULE_FILENAME@', 'BOX2DFLOAT4_construct' 
     2192        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2193 
     2194-- Deprecation in 1.2.3 
    12962195CREATEFUNCTION makeBox3d(geometry, geometry) 
    12972196        RETURNS box3d 
     
    12992198        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    13002199 
     2200-- Availability: 1.2.2 
     2201CREATEFUNCTION ST_makeBox3d(geometry, geometry) 
     2202        RETURNS box3d 
     2203        AS '@MODULE_FILENAME@', 'BOX3D_construct' 
     2204        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2205 
     2206-- Deprecation in 1.2.3 
    13012207CREATEFUNCTION makeline_garray (geometry[]) 
    13022208        RETURNS geometry 
     
    13042210        LANGUAGE 'C' _IMMUTABLE_STRICT; 
    13052211 
     2212-- Availability: 1.2.2 
     2213CREATEFUNCTION ST_makeline_garray (geometry[]) 
     2214        RETURNS geometry 
     2215        AS '@MODULE_FILENAME@', 'LWGEOM_makeline_garray' 
     2216        LANGUAGE 'C' _IMMUTABLE_STRICT; 
     2217 
     2218-- Deprecation in 1.2.3 
    13062219CREATEFUNCTION LineFromMultiPoint(geometry) 
    13072220        RETURNS geometry 
     
    13092222        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    13102223 
     2224-- Availability: 1.2.2 
     2225CREATEFUNCTION ST_LineFromMultiPoint(geometry) 
     2226        RETURNS geometry 
     2227        AS '@MODULE_FILENAME@', 'LWGEOM_line_from_mpoint' 
     2228        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2229 
     2230-- Deprecation in 1.2.3 
    13112231CREATEFUNCTION MakeLine(geometry, geometry) 
    13122232        RETURNS geometry 
     
    13142234        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    13152235 
     2236-- Availability: 1.2.2 
     2237CREATEFUNCTION ST_MakeLine(geometry, geometry) 
     2238        RETURNS geometry 
     2239        AS '@MODULE_FILENAME@', 'LWGEOM_makeline' 
     2240        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2241 
     2242-- Deprecation in 1.2.3 
    13162243CREATEFUNCTION AddPoint(geometry, geometry) 
    13172244        RETURNS geometry 
     
    13192246        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    13202247 
    1321 CREATEFUNCTION AddPoint(geometry, geometry, integer) 
     2248-- Availability: 1.2.2 
     2249CREATEFUNCTION ST_AddPoint(geometry, geometry) 
    13222250        RETURNS geometry 
    13232251        AS '@MODULE_FILENAME@', 'LWGEOM_addpoint' 
    13242252        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    13252253 
     2254-- Deprecation in 1.2.3 
     2255CREATEFUNCTION AddPoint(geometry, geometry, integer) 
     2256        RETURNS geometry 
     2257        AS '@MODULE_FILENAME@', 'LWGEOM_addpoint' 
     2258        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2259 
     2260-- Availability: 1.2.2 
     2261CREATEFUNCTION ST_AddPoint(geometry, geometry, integer) 
     2262        RETURNS geometry 
     2263        AS '@MODULE_FILENAME@', 'LWGEOM_addpoint' 
     2264        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2265 
     2266-- Deprecation in 1.2.3 
    13262267CREATEFUNCTION RemovePoint(geometry, integer) 
    13272268        RETURNS geometry 
     
    13292270        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    13302271 
     2272-- Availability: 1.2.2 
     2273CREATEFUNCTION ST_RemovePoint(geometry, integer) 
     2274        RETURNS geometry 
     2275        AS '@MODULE_FILENAME@', 'LWGEOM_removepoint' 
     2276        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2277 
     2278-- Deprecation in 1.2.3 
    13312279CREATEFUNCTION SetPoint(geometry, integer, geometry) 
    13322280        RETURNS geometry 
     
    13342282        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    13352283 
     2284-- Availability: 1.2.2 
     2285CREATEFUNCTION ST_SetPoint(geometry, integer, geometry) 
     2286        RETURNS geometry 
     2287        AS '@MODULE_FILENAME@', 'LWGEOM_setpoint_linestring' 
     2288        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2289 
     2290-- Deprecation in 1.2.3 
    13362291CREATE AGGREGATE makeline ( 
    13372292        sfunc = geom_accum, 
     
    13412296        ); 
    13422297 
     2298-- Availability: 1.2.2 
     2299CREATE AGGREGATE ST_makeline ( 
     2300        sfunc = geom_accum, 
     2301        basetype = geometry, 
     2302        stype = geometry[], 
     2303        finalfunc = ST_makeline_garray 
     2304        ); 
     2305 
     2306-- Deprecation in 1.2.3 
    13432307CREATEFUNCTION MakePolygon(geometry, geometry[]) 
    13442308        RETURNS geometry 
     
    13462310        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    13472311 
    1348 CREATEFUNCTION MakePolygon(geometry) 
     2312-- Availability: 1.2.2 
     2313CREATEFUNCTION ST_MakePolygon(geometry, geometry[]) 
    13492314        RETURNS geometry 
    13502315        AS '@MODULE_FILENAME@', 'LWGEOM_makepoly' 
    13512316        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    13522317 
     2318-- Deprecation in 1.2.3 
     2319CREATEFUNCTION MakePolygon(geometry) 
     2320        RETURNS geometry 
     2321        AS '@MODULE_FILENAME@', 'LWGEOM_makepoly' 
     2322        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2323 
     2324-- Availability: 1.2.2 
     2325CREATEFUNCTION ST_MakePolygon(geometry) 
     2326        RETURNS geometry 
     2327        AS '@MODULE_FILENAME@', 'LWGEOM_makepoly' 
     2328        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2329 
     2330-- Deprecation in 1.2.3 
    13532331CREATEFUNCTION BuildArea(geometry) 
    13542332        RETURNS geometry 
     
    13562334        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
    13572335 
     2336-- Availability: 1.2.2 
     2337CREATEFUNCTION ST_BuildArea(geometry) 
     2338        RETURNS geometry 
     2339        AS '@MODULE_FILENAME@', 'LWGEOM_buildarea' 
     2340        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); 
     2341 
     2342-- Deprecation in 1.2.3 
    13582343CREATEFUNCTION polygonize_garray (geometry[]) 
    13592344        RETURNS geometry 
     
    13612346        LANGUAGE 'C' _IMMUTABLE_STRICT; 
    13622347 
     2348-- Availability: 1.2.2 
     2349CREATEFUNCTION ST_polygonize_garray (geometry[]) 
     2350        RETURNS geometry 
     2351        AS '@MODULE_FILENAME@', 'polygonize_garray' 
     2352        LANGUAGE 'C' _IMMUTABLE_STRICT; 
     2353 
     2354-- Deprecation in 1.2.3 
    13632355CREATEFUNCTION LineMerge(geometry) 
    13642356        RETURNS geometry 
     
    13662358        LANGUAGE 'C' _IMMUTABLE_STRICT; 
    13672359 
     2360-- Availability: 1.2.2 
     2361CREATEFUNCTION ST_LineMerge(geometry) 
     2362        RETURNS geometry 
     2363        AS '@MODULE_FILENAME@', 'linemerge' 
     2364        LANGUAGE 'C' _IMMUTABLE_STRICT; 
     2365 
     2366-- Deprecation in 1.2.3 
    13682367CREATE AGGREGATE polygonize ( 
    13692368        sfunc = geom_accum, 
     
    13732372        ); 
    13742373 
     2374-- Availability: 1.2.2 
     2375CREATE AGGREGATE ST_polygonize ( 
     2376        sfunc = ST_geom_accum, 
     2377        basetype = geometry, 
     2378        stype = geometry[], 
     2379        finalfunc = ST_polygonize_garray 
     2380        ); 
    13752381 
    13762382#if USE_VERSION > 72 
     
    13782384CREATE TYPE geometry_dump AS (path integer[], geom geometry); 
    13792385 
     2386-- Deprecation in 1.2.3 
    13802387CREATEFUNCTION Dump(geometry) 
    13812388        RETURNS SETOF geometry_dump 
     
    13832390        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    13842391 
     2392-- Availability: 1.2.2 
     2393CREATEFUNCTION ST_Dump(geometry) 
     2394        RETURNS SETOF geometry_dump 
     2395        AS '@MODULE_FILENAME@', 'LWGEOM_dump' 
     2396        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     2397 
     2398-- Deprecation in 1.2.3 
    13852399CREATEFUNCTION DumpRings(geometry) 
    13862400        RETURNS SETOF geometry_dump 
     
    13882402        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    13892403 
     2404-- Availability: 1.2.2 
     2405CREATEFUNCTION DumpRings(geometry) 
     2406        RETURNS SETOF geometry_dump 
     2407        AS '@MODULE_FILENAME@', 'LWGEOM_dump_rings' 
     2408        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     2409 
    13902410#endif 
    13912411 
     
    13962416-- 
    13972417 
     2418-- Deprecation in 1.2.3 
    13982419CREATEFUNCTION combine_bbox(box2d,geometry) 
    13992420        RETURNS box2d 
     
    14012422        LANGUAGE 'C' _IMMUTABLE; 
    14022423 
     2424-- Availability: 1.2.2 
     2425CREATEFUNCTION ST_combine_bbox(box2d,geometry) 
     2426        RETURNS box2d 
     2427        AS '@MODULE_FILENAME@', 'BOX2DFLOAT4_combine' 
     2428        LANGUAGE 'C' _IMMUTABLE; 
     2429 
     2430-- Deprecation in 1.2.3 
    14032431CREATE AGGREGATE extent( 
    1404         sfunc = combine_bbox, 
     2432        sfunc = ST_combine_bbox, 
    14052433        basetype = geometry, 
    14062434        stype = box2d 
    14072435        ); 
    14082436 
     2437-- Availability: 1.2.2 
     2438CREATE AGGREGATE ST_extent( 
     2439        sfunc = ST_combine_bbox, 
     2440        basetype = geometry, 
     2441        stype = box2d 
     2442        ); 
     2443 
     2444-- Deprecation in 1.2.3 
    14092445CREATEFUNCTION combine_bbox(box3d,geometry) 
    14102446        RETURNS box3d 
     
    14122448        LANGUAGE 'C' _IMMUTABLE; 
    14132449 
     2450-- Availability: 1.2.2 
     2451CREATEFUNCTION ST_combine_bbox(box3d,geometry) 
     2452        RETURNS box3d 
     2453        AS '@MODULE_FILENAME@', 'BOX3D_combine' 
     2454        LANGUAGE 'C' _IMMUTABLE; 
     2455 
     2456-- Deprecation in 1.2.3 
    14142457CREATE AGGREGATE extent3d( 
    14152458        sfunc = combine_bbox, 
     
    14182461        ); 
    14192462 
     2463-- Availability: 1.2.2 
     2464CREATE AGGREGATE ST_extent3d( 
     2465        sfunc = ST_combine_bbox, 
     2466        basetype = geometry, 
     2467        stype = box3d 
     2468        ); 
     2469 
    14202470----------------------------------------------------------------------- 
    14212471-- CREATE_HISTOGRAM2D( <box2d>, <size> ) 
     
    14252475-- 
    14262476----------------------------------------------------------------------- 
     2477-- Deprecation in 1.2.3 
    14272478CREATEFUNCTION create_histogram2d(box2d,int) 
    14282479        RETURNS histogram2d 
     
    14302481        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    14312482 
     2483-- Availability: 1.2.2 
     2484CREATEFUNCTION ST_create_histogram2d(box2d,int) 
     2485        RETURNS histogram2d 
     2486        AS '@MODULE_FILENAME@','create_lwhistogram2d' 
     2487        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     2488 
    14322489----------------------------------------------------------------------- 
    14332490-- BUILD_HISTOGRAM2D( <histogram2d>, <tablename>, <columnname> ) 
    14342491----------------------------------------------------------------------- 
     2492-- Deprecation in 1.2.3 
    14352493CREATEFUNCTION build_histogram2d (histogram2d,text,text) 
    14362494        RETURNS histogram2d 
     
    14382496        LANGUAGE 'C' _STABLE_STRICT; -- WITH (isstrict); 
    14392497 
     2498-- Availability: 1.2.2 
     2499CREATEFUNCTION ST_build_histogram2d (histogram2d,text,text) 
     2500        RETURNS histogram2d 
     2501        AS '@MODULE_FILENAME@','build_lwhistogram2d' 
     2502        LANGUAGE 'C' _STABLE_STRICT; -- WITH (isstrict); 
     2503 
    14402504#if USE_VERSION >= 73 
    14412505----------------------------------------------------------------------- 
     
    14452509-- thanks to Carl Anderson for the idea. 
    14462510----------------------------------------------------------------------- 
     2511-- Deprecation in 1.2.3 
    14472512CREATEFUNCTION build_histogram2d (histogram2d,text,text,text) 
    14482513RETURNS histogram2d 
     
    14542519' 
    14552520LANGUAGE 'plpgsql' _STABLE_STRICT; -- WITH (isstrict); 
     2521 
     2522-- Availability: 1.2.2 
     2523CREATEFUNCTION ST_build_histogram2d (histogram2d,text,text,text) 
     2524RETURNS histogram2d 
     2525AS ' 
     2526BEGIN 
     2527        EXECUTE ''SET local search_path = ''||$2||'',public''; 
     2528        RETURN public.build_histogram2d($1,$3,$4); 
     2529END 
     2530' 
     2531LANGUAGE 'plpgsql' _STABLE_STRICT; -- WITH (isstrict); 
     2532 
    14562533#endif 
    14572534 
     
    14592536-- EXPLODE_HISTOGRAM2D( <histogram2d>, <tablename> ) 
    14602537----------------------------------------------------------------------- 
     2538-- Deprecation in 1.2.3 
    14612539CREATEFUNCTION explode_histogram2d (histogram2d,text) 
    14622540        RETURNS histogram2d 
     
    14642542        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    14652543 
     2544-- Availability: 1.2.2 
     2545CREATEFUNCTION ST_explode_histogram2d (histogram2d,text) 
     2546        RETURNS histogram2d 
     2547        AS '@MODULE_FILENAME@','explode_lwhistogram2d' 
     2548        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     2549 
    14662550----------------------------------------------------------------------- 
    14672551-- ESTIMATE_HISTOGRAM2D( <histogram2d>, <box> ) 
    14682552----------------------------------------------------------------------- 
     2553-- Deprecation in 1.2.3 
    14692554CREATEFUNCTION estimate_histogram2d(histogram2d,box2d) 
    14702555        RETURNS float8 
     
    14722557        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    14732558 
     2559-- Availability: 1.2.2 
     2560CREATEFUNCTION ST_estimate_histogram2d(histogram2d,box2d) 
     2561        RETURNS float8 
     2562        AS '@MODULE_FILENAME@','estimate_lwhistogram2d' 
     2563        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     2564 
    14742565----------------------------------------------------------------------- 
    14752566-- ESTIMATED_EXTENT( <schema name>, <table name>, <column name> ) 
    14762567----------------------------------------------------------------------- 
     2568-- Deprecation in 1.2.3 
    14772569CREATEFUNCTION estimated_extent(text,text,text) RETURNS box2d AS 
    14782570        '@MODULE_FILENAME@', 'LWGEOM_estimated_extent' 
    14792571        LANGUAGE 'C' _IMMUTABLE_STRICT _SECURITY_DEFINER; 
    14802572 
     2573-- Availability: 1.2.2 
     2574CREATEFUNCTION ST_estimated_extent(text,text,text) RETURNS box2d AS 
     2575        '@MODULE_FILENAME@', 'LWGEOM_estimated_extent' 
     2576        LANGUAGE 'C' _IMMUTABLE_STRICT _SECURITY_DEFINER; 
     2577 
    14812578----------------------------------------------------------------------- 
    14822579-- ESTIMATED_EXTENT( <table name>, <column name> ) 
    14832580----------------------------------------------------------------------- 
     2581-- Deprecation in 1.2.3 
    14842582CREATEFUNCTION estimated_extent(text,text) RETURNS box2d AS 
    14852583        '@MODULE_FILENAME@', 'LWGEOM_estimated_extent' 
    14862584        LANGUAGE 'C' _IMMUTABLE_STRICT _SECURITY_DEFINER;  
    14872585 
     2586-- Availability: 1.2.2 
     2587CREATEFUNCTION ST_estimated_extent(text,text) RETURNS box2d AS 
     2588        '@MODULE_FILENAME@', 'LWGEOM_estimated_extent' 
     2589        LANGUAGE 'C' _IMMUTABLE_STRICT _SECURITY_DEFINER;  
     2590 
    14882591----------------------------------------------------------------------- 
    14892592-- FIND_EXTENT( <schema name>, <table name>, <column name> ) 
    14902593----------------------------------------------------------------------- 
     2594-- Deprecation in 1.2.3 
    14912595CREATEFUNCTION find_extent(text,text,text) RETURNS box2d AS 
    14922596' 
     
    15052609LANGUAGE 'plpgsql' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    15062610 
     2611-- Availability: 1.2.2 
     2612CREATEFUNCTION ST_find_extent(text,text,text) RETURNS box2d AS 
     2613' 
     2614DECLARE 
     2615        schemaname alias for $1; 
     2616        tablename alias for $2; 
     2617        columnname alias for $3; 
     2618        myrec RECORD; 
     2619 
     2620BEGIN 
     2621        FOR myrec IN EXECUTE ''SELECT extent("''||columnname||''") FROM "''||schemaname||''"."''||tablename||''"'' LOOP 
     2622                return myrec.extent; 
     2623        END LOOP;  
     2624END; 
     2625' 
     2626LANGUAGE 'plpgsql' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     2627 
     2628 
    15072629----------------------------------------------------------------------- 
    15082630-- FIND_EXTENT( <table name>, <column name> ) 
    15092631----------------------------------------------------------------------- 
     2632-- Deprecation in 1.2.3 
    15102633CREATEFUNCTION find_extent(text,text) RETURNS box2d AS 
     2634' 
     2635DECLARE 
     2636        tablename alias for $1; 
     2637        columnname alias for $2; 
     2638        myrec RECORD; 
     2639 
     2640BEGIN 
     2641        FOR myrec IN EXECUTE ''SELECT extent("''||columnname||''") FROM "''||tablename||''"'' LOOP 
     2642                return myrec.extent; 
     2643        END LOOP;  
     2644END; 
     2645' 
     2646LANGUAGE 'plpgsql' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     2647 
     2648-- Availability: 1.2.2 
     2649CREATEFUNCTION ST_find_extent(text,text) RETURNS box2d AS 
    15112650' 
    15122651DECLARE 
     
    27013840--------------------------------------------------------------- 
    27023841 
     3842-- Deprecation in 1.2.3 
    27033843CREATEFUNCTION box2d(geometry) 
    27043844        RETURNS box2d 
     
    27063846        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27073847 
     3848-- Availability: 1.2.2 
     3849CREATEFUNCTION ST_box2d(geometry) 
     3850        RETURNS box2d 
     3851        AS '@MODULE_FILENAME@','LWGEOM_to_BOX2DFLOAT4' 
     3852        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     3853 
     3854-- Deprecation in 1.2.3 
    27083855CREATEFUNCTION box3d(geometry) 
    27093856        RETURNS box3d 
     
    27113858        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27123859 
     3860-- Availability: 1.2.2 
     3861CREATEFUNCTION ST_box3d(geometry) 
     3862        RETURNS box3d 
     3863        AS '@MODULE_FILENAME@','LWGEOM_to_BOX3D' 
     3864        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     3865 
     3866-- Deprecation in 1.2.3 
    27133867CREATEFUNCTION box(geometry) 
    27143868        RETURNS box 
     
    27163870        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27173871 
     3872-- Availability: 1.2.2 
     3873CREATEFUNCTION ST_box(geometry) 
     3874        RETURNS box 
     3875        AS '@MODULE_FILENAME@','LWGEOM_to_BOX' 
     3876        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     3877 
     3878-- Deprecation in 1.2.3 
    27183879CREATEFUNCTION box2d(box3d) 
    27193880        RETURNS box2d 
     
    27213882        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27223883 
     3884-- Availability: 1.2.2 
     3885CREATEFUNCTION ST_box2d(box3d) 
     3886        RETURNS box2d 
     3887        AS '@MODULE_FILENAME@','BOX3D_to_BOX2DFLOAT4' 
     3888        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     3889 
     3890-- Deprecation in 1.2.3 
    27233891CREATEFUNCTION box3d(box2d) 
    27243892        RETURNS box3d 
     
    27263894        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27273895 
     3896-- Availability: 1.2.2 
     3897CREATEFUNCTION ST_box3d(box2d) 
     3898        RETURNS box3d 
     3899        AS '@MODULE_FILENAME@','BOX2DFLOAT4_to_BOX3D' 
     3900        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     3901 
     3902-- Deprecation in 1.2.3 
    27283903CREATEFUNCTION box(box3d) 
    27293904        RETURNS box 
     
    27313906        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27323907 
     3908-- Availability: 1.2.2 
     3909CREATEFUNCTION ST_box(box3d) 
     3910        RETURNS box 
     3911        AS '@MODULE_FILENAME@','BOX3D_to_BOX' 
     3912        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     3913 
     3914-- Deprecation in 1.2.3 
    27333915CREATEFUNCTION text(geometry) 
    27343916        RETURNS text 
     
    27363918        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27373919 
     3920-- Availability: 1.2.2 
     3921CREATEFUNCTION ST_text(geometry) 
     3922        RETURNS text 
     3923        AS '@MODULE_FILENAME@','LWGEOM_to_text' 
     3924        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     3925 
    27383926-- this is kept for backward-compatibility 
     3927-- Deprecation in 1.2.3 
    27393928CREATEFUNCTION box3dtobox(box3d) 
    27403929        RETURNS box 
     
    27423931        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27433932 
     3933-- Deprecation in 1.2.3 
    27443934CREATEFUNCTION geometry(box2d) 
    27453935        RETURNS geometry 
     
    27473937        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27483938 
     3939-- Availability: 1.2.2 
     3940CREATEFUNCTION ST_geometry(box2d) 
     3941        RETURNS geometry 
     3942        AS '@MODULE_FILENAME@','BOX2DFLOAT4_to_LWGEOM' 
     3943        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     3944 
     3945-- Deprecation in 1.2.3 
    27493946CREATEFUNCTION geometry(box3d) 
    27503947        RETURNS geometry 
     
    27523949        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27533950 
     3951-- Availability: 1.2.2 
     3952CREATEFUNCTION ST_geometry(box3d) 
     3953        RETURNS geometry 
     3954        AS '@MODULE_FILENAME@','BOX3D_to_LWGEOM' 
     3955        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     3956 
     3957-- Deprecation in 1.2.3 
    27543958CREATEFUNCTION geometry(text) 
    27553959        RETURNS geometry 
     
    27573961        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27583962 
     3963-- Availability: 1.2.2 
     3964CREATEFUNCTION ST_geometry(text) 
     3965        RETURNS geometry 
     3966        AS '@MODULE_FILENAME@','parse_WKT_lwgeom' 
     3967        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     3968 
     3969-- Deprecation in 1.2.3 
    27593970CREATEFUNCTION geometry(chip) 
    27603971        RETURNS geometry 
     
    27623973        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27633974 
     3975-- Availability: 1.2.2 
     3976CREATEFUNCTION ST_geometry(chip) 
     3977        RETURNS geometry 
     3978        AS '@MODULE_FILENAME@','CHIP_to_LWGEOM' 
     3979        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     3980 
     3981-- Deprecation in 1.2.3 
    27643982CREATEFUNCTION geometry(bytea) 
    27653983        RETURNS geometry 
     
    27673985        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27683986 
     3987-- Availability: 1.2.2 
     3988CREATEFUNCTION ST_geometry(bytea) 
     3989        RETURNS geometry 
     3990        AS '@MODULE_FILENAME@','LWGEOM_from_bytea' 
     3991        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     3992 
     3993-- Deprecation in 1.2.3 
    27693994CREATEFUNCTION bytea(geometry) 
    27703995        RETURNS bytea 
     
    27723997        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27733998 
     3999-- Availability: 1.2.2 
     4000CREATEFUNCTION ST_bytea(geometry) 
     4001        RETURNS bytea 
     4002        AS '@MODULE_FILENAME@','LWGEOM_to_bytea' 
     4003        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4004 
     4005-- Deprecation in 1.2.3 
    27744006CREATEFUNCTION text(bool) 
    27754007        RETURNS text 
     
    27774009        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    27784010 
     4011-- Availability: 1.2.2 
     4012CREATEFUNCTION ST_text(bool) 
     4013        RETURNS text 
     4014        AS '@MODULE_FILENAME@','BOOL_to_text' 
     4015        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4016 
    27794017-- 7.3+ explicit casting definitions 
    27804018#if USE_VERSION >= 73 
    2781 CREATE CAST (geometry AS box2d) WITH FUNCTION box2d(geometry) AS IMPLICIT; 
    2782 CREATE CAST (geometry AS box3d) WITH FUNCTION box3d(geometry) AS IMPLICIT; 
    2783 CREATE CAST (geometry AS box) WITH FUNCTION box(geometry) AS IMPLICIT; 
    2784 CREATE CAST (box3d AS box2d) WITH FUNCTION box2d(box3d) AS IMPLICIT; 
    2785 CREATE CAST (box2d AS box3d) WITH FUNCTION box3d(box2d) AS IMPLICIT; 
    2786 CREATE CAST (box2d AS geometry) WITH FUNCTION geometry(box2d) AS IMPLICIT; 
    2787 CREATE CAST (box3d AS box) WITH FUNCTION box(box3d) AS IMPLICIT; 
    2788 CREATE CAST (box3d AS geometry) WITH FUNCTION geometry(box3d) AS IMPLICIT; 
    2789 CREATE CAST (text AS geometry) WITH FUNCTION geometry(text) AS IMPLICIT; 
    2790 CREATE CAST (geometry AS text) WITH FUNCTION text(geometry) AS IMPLICIT; 
    2791 CREATE CAST (chip AS geometry) WITH FUNCTION geometry(chip) AS IMPLICIT; 
    2792 CREATE CAST (bytea AS geometry) WITH FUNCTION geometry(bytea) AS IMPLICIT; 
    2793 CREATE CAST (geometry AS bytea) WITH FUNCTION bytea(geometry) AS IMPLICIT; 
    2794 CREATE CAST (bool AS text) WITH FUNCTION text(bool) AS IMPLICIT; 
     4019CREATE CAST (geometry AS box2d) WITH FUNCTION ST_box2d(geometry) AS IMPLICIT; 
     4020CREATE CAST (geometry AS box3d) WITH FUNCTION ST_box3d(geometry) AS IMPLICIT; 
     4021CREATE CAST (geometry AS box) WITH FUNCTION ST_box(geometry) AS IMPLICIT; 
     4022CREATE CAST (box3d AS box2d) WITH FUNCTION ST_box2d(box3d) AS IMPLICIT; 
     4023CREATE CAST (box2d AS box3d) WITH FUNCTION ST_box3d(box2d) AS IMPLICIT; 
     4024CREATE CAST (box2d AS geometry) WITH FUNCTION ST_geometry(box2d) AS IMPLICIT; 
     4025CREATE CAST (box3d AS box) WITH FUNCTION ST_box(box3d) AS IMPLICIT; 
     4026CREATE CAST (box3d AS geometry) WITH FUNCTION ST_geometry(box3d) AS IMPLICIT; 
     4027CREATE CAST (text AS geometry) WITH FUNCTION ST_geometry(text) AS IMPLICIT; 
     4028CREATE CAST (geometry AS text) WITH FUNCTION ST_text(geometry) AS IMPLICIT; 
     4029CREATE CAST (chip AS geometry) WITH FUNCTION ST_geometry(chip) AS IMPLICIT; 
     4030CREATE CAST (bytea AS geometry) WITH FUNCTION ST_geometry(bytea) AS IMPLICIT; 
     4031CREATE CAST (geometry AS bytea) WITH FUNCTION ST_bytea(geometry) AS IMPLICIT; 
     4032CREATE CAST (bool AS text) WITH FUNCTION ST_text(bool) AS IMPLICIT; 
    27954033#endif 
    27964034 
     
    27994037--------------------------------------------------------------- 
    28004038 
     4039-- Deprecation in 1.2.3 
    28014040CREATEFUNCTION simplify(geometry, float8) 
    28024041   RETURNS geometry 
     
    28044043   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    28054044 
     4045-- Availability: 1.2.2 
     4046CREATEFUNCTION ST_simplify(geometry, float8) 
     4047   RETURNS geometry 
     4048   AS '@MODULE_FILENAME@', 'LWGEOM_simplify2d' 
     4049   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4050 
    28064051-- SnapToGrid(input, xoff, yoff, xsize, ysize) 
     4052-- Deprecation in 1.2.3 
    28074053CREATEFUNCTION SnapToGrid(geometry, float8, float8, float8, float8) 
    28084054   RETURNS geometry 
     
    28104056   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    28114057 
     4058-- Availability: 1.2.2 
     4059CREATEFUNCTION ST_SnapToGrid(geometry, float8, float8, float8, float8) 
     4060   RETURNS geometry 
     4061   AS '@MODULE_FILENAME@', 'LWGEOM_snaptogrid' 
     4062   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4063 
    28124064-- SnapToGrid(input, xsize, ysize) # offsets=0 
     4065-- Deprecation in 1.2.3 
    28134066CREATEFUNCTION SnapToGrid(geometry, float8, float8) 
    28144067   RETURNS geometry 
     
    28164069   LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    28174070 
     4071-- Availability: 1.2.2 
     4072CREATEFUNCTION ST_SnapToGrid(geometry, float8, float8) 
     4073   RETURNS geometry 
     4074   AS 'SELECT SnapToGrid($1, 0, 0, $2, $3)' 
     4075   LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4076 
    28184077-- SnapToGrid(input, size) # xsize=ysize=size, offsets=0 
     4078-- Deprecation in 1.2.3 
    28194079CREATEFUNCTION SnapToGrid(geometry, float8) 
    28204080   RETURNS geometry 
     
    28224082   LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    28234083 
     4084-- Availability: 1.2.2 
     4085CREATEFUNCTION ST_SnapToGrid(geometry, float8) 
     4086   RETURNS geometry 
     4087   AS 'SELECT SnapToGrid($1, 0, 0, $2, $2)' 
     4088   LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4089 
    28244090-- SnapToGrid(input, point_offsets, xsize, ysize, zsize, msize) 
     4091-- Deprecation in 1.2.3 
    28254092CREATEFUNCTION SnapToGrid(geometry, geometry, float8, float8, float8, float8) 
    28264093   RETURNS geometry 
     
    28284095   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    28294096 
     4097-- Availability: 1.2.2 
     4098CREATEFUNCTION ST_SnapToGrid(geometry, geometry, float8, float8, float8, float8) 
     4099   RETURNS geometry 
     4100   AS '@MODULE_FILENAME@', 'LWGEOM_snaptogrid_pointoff' 
     4101   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4102 
     4103-- Deprecation in 1.2.3 
    28304104CREATEFUNCTION segmentize(geometry, float8) 
     4105        RETURNS geometry 
     4106        AS '@MODULE_FILENAME@', 'LWGEOM_segmentize2d' 
     4107        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4108 
     4109-- Availability: 1.2.2 
     4110CREATEFUNCTION ST_segmentize(geometry, float8) 
    28314111        RETURNS geometry 
    28324112        AS '@MODULE_FILENAME@', 'LWGEOM_segmentize2d' 
     
    28374117--------------------------------------------------------------- 
    28384118 
     4119-- Deprecation in 1.2.3 
    28394120CREATEFUNCTION line_interpolate_point(geometry, float8) 
    28404121   RETURNS geometry 
     
    28424123   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    28434124 
     4125-- Availability: 1.2.2 
     4126CREATEFUNCTION ST_line_interpolate_point(geometry, float8) 
     4127   RETURNS geometry 
     4128   AS '@MODULE_FILENAME@', 'LWGEOM_line_interpolate_point' 
     4129   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4130 
     4131-- Deprecation in 1.2.3 
    28444132CREATEFUNCTION line_substring(geometry, float8, float8) 
    28454133   RETURNS geometry 
     
    28474135   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    28484136 
     4137-- Availability: 1.2.2 
     4138CREATEFUNCTION ST_line_substring(geometry, float8, float8) 
     4139   RETURNS geometry 
     4140   AS '@MODULE_FILENAME@', 'LWGEOM_line_substring' 
     4141   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4142 
     4143-- Deprecation in 1.2.3 
    28494144CREATEFUNCTION line_locate_point(geometry, geometry) 
    28504145   RETURNS float8 
     
    28524147   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    28534148 
     4149-- Availability: 1.2.2 
     4150CREATEFUNCTION ST_line_locate_point(geometry, geometry) 
     4151   RETURNS float8 
     4152   AS '@MODULE_FILENAME@', 'LWGEOM_line_locate_point' 
     4153   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4154 
     4155-- Deprecation in 1.2.3 
    28544156CREATEFUNCTION locate_between_measures(geometry, float8, float8) 
    28554157        RETURNS geometry 
     
    28574159        LANGUAGE 'C' _IMMUTABLE_STRICT; 
    28584160 
     4161-- Availability: 1.2.2 
     4162CREATEFUNCTION ST_locate_between_measures(geometry, float8, float8) 
     4163        RETURNS geometry 
     4164        AS '@MODULE_FILENAME@', 'LWGEOM_locate_between_m' 
     4165        LANGUAGE 'C' _IMMUTABLE_STRICT; 
     4166 
     4167-- Deprecation in 1.2.3 
    28594168CREATEFUNCTION locate_along_measure(geometry, float8) 
     4169        RETURNS geometry 
     4170        AS 'SELECT locate_between_measures($1, $2, $2)' 
     4171        LANGUAGE 'sql' _IMMUTABLE_STRICT; 
     4172 
     4173-- Availability: 1.2.2 
     4174CREATEFUNCTION ST_locate_along_measure(geometry, float8) 
    28604175        RETURNS geometry 
    28614176        AS 'SELECT locate_between_measures($1, $2, $2)' 
     
    28664181--------------------------------------------------------------- 
    28674182 
     4183-- Deprecation in 1.2.3 
    28684184CREATEFUNCTION intersection(geometry,geometry) 
    28694185   RETURNS geometry 
     
    28714187   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    28724188 
     4189-- Availability: 1.2.2 
     4190CREATEFUNCTION ST_intersection(geometry,geometry) 
     4191   RETURNS geometry 
     4192   AS '@MODULE_FILENAME@','intersection' 
     4193   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4194 
     4195-- Deprecation in 1.2.3 
    28734196CREATEFUNCTION buffer(geometry,float8) 
    28744197   RETURNS geometry 
     
    28764199   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    28774200 
     4201-- Availability: 1.2.2 
     4202CREATEFUNCTION ST_buffer(geometry,float8) 
     4203   RETURNS geometry 
     4204   AS '@MODULE_FILENAME@','buffer' 
     4205   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4206 
     4207-- Deprecation in 1.2.3 
    28784208CREATEFUNCTION buffer(geometry,float8,integer) 
    28794209   RETURNS geometry 
    28804210   AS '@MODULE_FILENAME@','buffer' 
    28814211   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4212 
     4213-- Availability: 1.2.2 
     4214CREATEFUNCTION ST_buffer(geometry,float8,integer) 
     4215   RETURNS geometry 
     4216   AS '@MODULE_FILENAME@','buffer' 
     4217   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    28824218    
     4219-- Deprecation in 1.2.3 
    28834220CREATEFUNCTION convexhull(geometry) 
    28844221        RETURNS geometry 
    28854222        AS '@MODULE_FILENAME@','convexhull' 
    28864223        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4224 
     4225-- Availability: 1.2.2 
     4226CREATEFUNCTION ST_convexhull(geometry) 
     4227        RETURNS geometry 
     4228        AS '@MODULE_FILENAME@','convexhull' 
     4229        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    28874230   
    2888    
     4231-- Deprecation in 1.2.3 
    28894232CREATEFUNCTION difference(geometry,geometry) 
    28904233        RETURNS geometry 
    28914234        AS '@MODULE_FILENAME@','difference' 
    28924235        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4236 
     4237-- Availability: 1.2.2 
     4238CREATEFUNCTION ST_difference(geometry,geometry) 
     4239        RETURNS geometry 
     4240        AS '@MODULE_FILENAME@','difference' 
     4241        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    28934242    
     4243-- Deprecation in 1.2.3 
    28944244CREATEFUNCTION boundary(geometry) 
    28954245        RETURNS geometry 
     
    28974247        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    28984248 
     4249-- Availability: 1.2.2 
     4250CREATEFUNCTION ST_boundary(geometry) 
     4251        RETURNS geometry 
     4252        AS '@MODULE_FILENAME@','boundary' 
     4253        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4254 
     4255-- Deprecation in 1.2.3 
    28994256CREATEFUNCTION symdifference(geometry,geometry) 
    29004257        RETURNS geometry 
    29014258        AS '@MODULE_FILENAME@','symdifference' 
    2902    LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    2903  
    2904  
     4259        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4260 
     4261-- Availability: 1.2.2 
     4262CREATEFUNCTION ST_symdifference(geometry,geometry) 
     4263        RETURNS geometry 
     4264        AS '@MODULE_FILENAME@','symdifference' 
     4265        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4266 
     4267-- Deprecation in 1.2.3 
    29054268CREATEFUNCTION symmetricdifference(geometry,geometry) 
    29064269        RETURNS geometry 
     
    29084271        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    29094272 
    2910  
     4273-- Availability: 1.2.2 
     4274CREATEFUNCTION ST_symmetricdifference(geometry,geometry) 
     4275        RETURNS geometry 
     4276        AS '@MODULE_FILENAME@','symdifference' 
     4277        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4278 
     4279-- Deprecation in 1.2.3 
    29114280CREATEFUNCTION GeomUnion(geometry,geometry) 
    29124281        RETURNS geometry 
     
    29144283        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    29154284 
     4285-- Availability: 1.2.2 
     4286CREATEFUNCTION ST_Union(geometry,geometry) 
     4287        RETURNS geometry 
     4288        AS '@MODULE_FILENAME@','geomunion' 
     4289        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4290 
     4291-- Deprecation in 1.2.3 
    29164292CREATE AGGREGATE MemGeomUnion ( 
    29174293        basetype = geometry, 
     
    29204296        ); 
    29214297 
     4298-- Availability: 1.2.2 
     4299CREATE AGGREGATE ST_MemGeomUnion ( 
     4300        basetype = geometry, 
     4301        sfunc = ST_union, 
     4302        stype = geometry 
     4303        ); 
     4304 
     4305-- Deprecation in 1.2.3 
    29224306CREATEFUNCTION unite_garray (geometry[]) 
    29234307        RETURNS geometry 
    2924         AS '@MODULE_FILENAME@' 
     4308        AS '@MODULE_FILENAME@' 
    29254309        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);  
    29264310 
     4311-- Availability: 1.2.2 
     4312CREATEFUNCTION ST_unite_garray (geometry[]) 
     4313        RETURNS geometry 
     4314        AS '@MODULE_FILENAME@','unite_garray' 
     4315        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);  
     4316 
     4317-- Deprecation in 1.2.3 
    29274318CREATE AGGREGATE GeomUnion ( 
    29284319        sfunc = geom_accum, 
    29294320        basetype = geometry, 
    29304321        stype = geometry[], 
    2931         finalfunc = unite_garray 
     4322        finalfunc = ST_unite_garray 
    29324323        ); 
    29334324 
    2934  
     4325-- Availability: 1.2.2 
     4326CREATE AGGREGATE ST_Union ( 
     4327        sfunc = ST_geom_accum, 
     4328        basetype = geometry, 
     4329        stype = geometry[], 
     4330        finalfunc = ST_unite_garray 
     4331        ); 
     4332 
     4333-- Deprecation in 1.2.3 
    29354334CREATEFUNCTION relate(geometry,geometry) 
    29364335   RETURNS text 
     
    29384337   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    29394338 
     4339-- Availability: 1.2.2 
     4340CREATEFUNCTION ST_relate(geometry,geometry) 
     4341   RETURNS text 
     4342   AS '@MODULE_FILENAME@','relate_full' 
     4343   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4344 
     4345-- Deprecation in 1.2.3 
    29404346CREATEFUNCTION relate(geometry,geometry,text) 
    29414347   RETURNS boolean 
     
    29434349   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    29444350 
     4351-- Availability: 1.2.2 
     4352CREATEFUNCTION ST_relate(geometry,geometry,text) 
     4353   RETURNS boolean 
     4354   AS '@MODULE_FILENAME@','relate_pattern' 
     4355   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4356 
     4357-- Deprecation in 1.2.3 
    29454358CREATEFUNCTION disjoint(geometry,geometry) 
    29464359   RETURNS boolean 
    29474360   AS '@MODULE_FILENAME@' 
    29484361   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    2949  
     4362    
     4363-- Deprecation in 1.2.3 
    29504364CREATEFUNCTION touches(geometry,geometry) 
    29514365   RETURNS boolean 
     
    29534367   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    29544368 
     4369-- Deprecation in 1.2.3 
    29554370CREATEFUNCTION intersects(geometry,geometry) 
    29564371   RETURNS boolean 
     
    29584373   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    29594374 
     4375-- Deprecation in 1.2.3 
    29604376CREATEFUNCTION crosses(geometry,geometry) 
    29614377   RETURNS boolean 
     
    29634379   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    29644380 
     4381-- Deprecation in 1.2.3 
    29654382CREATEFUNCTION within(geometry,geometry) 
    29664383   RETURNS boolean 
     
    29684385   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    29694386 
     4387-- Deprecation in 1.2.3 
    29704388CREATEFUNCTION contains(geometry,geometry) 
    29714389   RETURNS boolean 
     
    29734391   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    29744392 
     4393-- Deprecation in 1.2.3 
    29754394CREATEFUNCTION overlaps(geometry,geometry) 
    29764395   RETURNS boolean 
     
    29784397   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    29794398 
     4399-- Deprecation in 1.2.3 
    29804400CREATEFUNCTION IsValid(geometry) 
    29814401   RETURNS boolean 
     
    29834403   LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    29844404 
     4405-- Deprecation in 1.2.3 
    29854406CREATEFUNCTION GEOSnoop(geometry) 
    29864407   RETURNS geometry 
     
    29884409   LANGUAGE 'C' _VOLATILE_STRICT; -- WITH (isstrict,iscachable); 
    29894410 
     4411-- Deprecation in 1.2.3 
    29904412CREATEFUNCTION JTSnoop(geometry) 
    29914413   RETURNS geometry 
     
    29994421        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30004422 
     4423-- Availability: 1.2.2 
     4424CREATEFUNCTION ST_Centroid(geometry) 
     4425        RETURNS geometry 
     4426        AS '@MODULE_FILENAME@','centroid' 
     4427        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4428 
     4429-- Deprecation in 1.2.3 
    30014430CREATEFUNCTION IsRing(geometry) 
    30024431        RETURNS boolean 
     
    30044433        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30054434 
     4435-- Availability: 1.2.2 
     4436CREATEFUNCTION ST_IsRing(geometry) 
     4437        RETURNS boolean 
     4438        AS '@MODULE_FILENAME@','isring' 
     4439        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4440 
     4441-- Deprecation in 1.2.3 
    30064442CREATEFUNCTION PointOnSurface(geometry) 
    30074443        RETURNS geometry 
    30084444        AS '@MODULE_FILENAME@' 
    30094445        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4446 
     4447-- Availability: 1.2.2 
     4448CREATEFUNCTION ST_PointOnSurface(geometry) 
     4449        RETURNS geometry 
     4450        AS '@MODULE_FILENAME@','pointonsurface' 
     4451        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30104452         
     4453-- Deprecation in 1.2.3 
    30114454CREATEFUNCTION IsSimple(geometry) 
    30124455        RETURNS boolean 
     
    30144457        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30154458 
     4459-- Availability: 1.2.2 
     4460CREATEFUNCTION ST_IsSimple(geometry) 
     4461        RETURNS boolean 
     4462        AS '@MODULE_FILENAME@', 'issimple' 
     4463        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4464 
     4465-- Deprecation in 1.2.3 
    30164466CREATEFUNCTION Equals(geometry,geometry) 
    30174467        RETURNS boolean 
     
    30194469        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30204470 
     4471-- Availability: 1.2.2 
     4472CREATEFUNCTION ST_Equals(geometry,geometry) 
     4473        RETURNS boolean 
     4474        AS '@MODULE_FILENAME@','geomequals' 
     4475        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4476 
    30214477----------------------------------------------------------------------- 
    30224478-- SVG OUTPUT 
    30234479----------------------------------------------------------------------- 
     4480-- Deprecation in 1.2.3 
    30244481CREATEFUNCTION AsSVG(geometry,int4,int4) 
    30254482        RETURNS TEXT 
     
    30274484        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30284485 
     4486-- Availability: 1.2.2 
     4487CREATEFUNCTION ST_AsSVG(geometry,int4,int4) 
     4488        RETURNS TEXT 
     4489        AS '@MODULE_FILENAME@','assvg_geometry' 
     4490        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4491 
     4492-- Deprecation in 1.2.3 
    30294493CREATEFUNCTION AsSVG(geometry,int4) 
    30304494        RETURNS TEXT 
     
    30324496        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30334497 
     4498-- Availability: 1.2.2 
     4499CREATEFUNCTION ST_AsSVG(geometry,int4) 
     4500        RETURNS TEXT 
     4501        AS '@MODULE_FILENAME@','assvg_geometry' 
     4502        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4503 
     4504-- Deprecation in 1.2.3 
    30344505CREATEFUNCTION AsSVG(geometry) 
    30354506        RETURNS TEXT 
     
    30374508        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30384509 
     4510-- Availability: 1.2.2 
     4511CREATEFUNCTION ST_AsSVG(geometry) 
     4512        RETURNS TEXT 
     4513        AS '@MODULE_FILENAME@','assvg_geometry' 
     4514        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4515 
    30394516----------------------------------------------------------------------- 
    30404517-- GML OUTPUT 
    30414518----------------------------------------------------------------------- 
    30424519-- AsGML(geom, precision, version) 
     4520-- Deprecation in 1.2.3 
    30434521CREATEFUNCTION AsGML(geometry, int4, int4) 
    30444522        RETURNS TEXT 
     
    30464524        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30474525 
     4526-- Availability: 1.2.2 
     4527CREATEFUNCTION ST_AsGML(geometry, int4, int4) 
     4528        RETURNS TEXT 
     4529        AS '@MODULE_FILENAME@','LWGEOM_asGML' 
     4530        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4531 
    30484532-- AsGML(geom, precision) / version=2 
     4533-- Deprecation in 1.2.3 
    30494534CREATEFUNCTION AsGML(geometry, int4) 
    30504535        RETURNS TEXT 
     
    30524537        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30534538 
     4539-- Availability: 1.2.2 
     4540CREATEFUNCTION ST_AsGML(geometry, int4) 
     4541        RETURNS TEXT 
     4542        AS '@MODULE_FILENAME@','LWGEOM_asGML' 
     4543        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4544 
    30544545-- AsGML(geom) / precision=15 version=2 
     4546-- Deprecation in 1.2.3 
    30554547CREATEFUNCTION AsGML(geometry) 
    30564548        RETURNS TEXT 
     
    30584550        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30594551 
     4552-- Availabiltiy: 1.2.2 
     4553CREATEFUNCTION ST_AsGML(geometry) 
     4554        RETURNS TEXT 
     4555        AS '@MODULE_FILENAME@','LWGEOM_asGML' 
     4556        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4557 
    30604558----------------------------------------------------------------------- 
    30614559-- KML OUTPUT 
    30624560----------------------------------------------------------------------- 
    30634561-- AsUKML(geom, precision, version) 
     4562-- Deprecation in 1.2.3 
    30644563CREATEFUNCTION AsUKML(geometry, int4, int4) 
    30654564        RETURNS TEXT 
     
    30674566        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30684567 
     4568-- Availability: 1.2.2 
     4569CREATEFUNCTION ST_AsUKML(geometry, int4, int4) 
     4570        RETURNS TEXT 
     4571        AS '@MODULE_FILENAME@','LWGEOM_asKML' 
     4572        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4573 
    30694574-- AsUKML(geom, precision) / version=2 
     4575-- Deprecation in 1.2.3 
    30704576CREATEFUNCTION AsUKML(geometry, int4) 
    30714577        RETURNS TEXT 
     
    30734579        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30744580 
     4581-- Availability: 1.2.2 
     4582CREATEFUNCTION ST_AsUKML(geometry, int4) 
     4583        RETURNS TEXT 
     4584        AS '@MODULE_FILENAME@','LWGEOM_asKML' 
     4585        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4586 
    30754587-- AsUKML(geom) / precision=15 version=2 
     4588-- Deprecation in 1.2.3 
    30764589CREATEFUNCTION AsUKML(geometry) 
    30774590        RETURNS TEXT 
     
    30794592        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30804593 
     4594-- Availability: 1.2.2 
     4595CREATEFUNCTION ST_AsUKML(geometry) 
     4596        RETURNS TEXT 
     4597        AS '@MODULE_FILENAME@','LWGEOM_asKML' 
     4598        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4599 
    30814600-- AsKML(geom, precision, version) 
     4601-- Deprecation in 1.2.3 
    30824602CREATE OR REPLACE FUNCTION AsKML(geometry, int4, int4) 
    30834603        RETURNS TEXT 
     
    30854605        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30864606 
     4607-- Availability: 1.2.2 
     4608CREATE OR REPLACE FUNCTION ST_AsKML(geometry, int4, int4) 
     4609        RETURNS TEXT 
     4610        AS 'SELECT AsUKML(transform($1,4326),$2,$3)'  
     4611        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4612 
    30874613-- AsKML(geom, precision) / version=2 
     4614-- Deprecation in 1.2.3 
    30884615CREATE OR REPLACE FUNCTION AsKML(geometry, int4)  
    30894616        RETURNS TEXT 
     
    30914618        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30924619 
     4620-- Availability: 1.2.2 
     4621CREATE OR REPLACE FUNCTION ST_AsKML(geometry, int4)  
     4622        RETURNS TEXT 
     4623        AS 'SELECT AsUKML(transform($1,4326),$2)'  
     4624        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4625 
    30934626-- AsKML(geom) / precision=15 version=2 
     4627-- Deprecation in 1.2.3 
    30944628CREATE OR REPLACE FUNCTION AsKML(geometry)  
    30954629        RETURNS TEXT 
     
    30974631        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    30984632 
     4633-- Availability: 1.2.2 
     4634CREATE OR REPLACE FUNCTION ST_AsKML(geometry)  
     4635        RETURNS TEXT 
     4636        AS 'SELECT AsUKML(transform($1,4326))'  
     4637        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4638 
    30994639------------------------------------------------------------------------ 
    31004640-- OGC defined 
    31014641------------------------------------------------------------------------ 
    31024642 
     4643-- Deprecation in 1.2.3 
    31034644CREATEFUNCTION NumPoints(geometry) 
    31044645        RETURNS int4 
     
    31064647        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31074648 
     4649-- Availability: 1.2.2 
     4650CREATEFUNCTION ST_NumPoints(geometry) 
     4651        RETURNS int4 
     4652        AS '@MODULE_FILENAME@', 'LWGEOM_numpoints_linestring' 
     4653        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     4654 
     4655-- Deprecation in 1.2.3 
    31084656CREATEFUNCTION NumGeometries(geometry) 
    31094657        RETURNS int4 
     
    31114659        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31124660 
     4661-- Availability: 1.2.2 
     4662CREATEFUNCTION ST_NumGeometries(geometry) 
     4663        RETURNS int4 
     4664        AS '@MODULE_FILENAME@', 'LWGEOM_numgeometries_collection' 
     4665        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     4666 
     4667-- Deprecation in 1.2.3 
    31134668CREATEFUNCTION GeometryN(geometry,integer) 
    31144669        RETURNS geometry 
     
    31164671        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31174672 
     4673-- Availability: 1.2.2 
     4674CREATEFUNCTION ST_GeometryN(geometry,integer) 
     4675        RETURNS geometry 
     4676        AS '@MODULE_FILENAME@', 'LWGEOM_geometryn_collection' 
     4677        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     4678 
     4679-- Deprecation in 1.2.3 
    31184680CREATEFUNCTION Dimension(geometry) 
    31194681        RETURNS int4 
     
    31214683        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31224684 
     4685-- Availability: 1.2.2 
     4686CREATEFUNCTION ST_Dimension(geometry) 
     4687        RETURNS int4 
     4688        AS '@MODULE_FILENAME@', 'LWGEOM_dimension' 
     4689        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     4690 
     4691-- Deprecation in 1.2.3 
    31234692CREATEFUNCTION ExterioRring(geometry) 
    31244693        RETURNS geometry 
     
    31264695        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31274696 
     4697-- Availability: 1.2.2 
     4698CREATEFUNCTION ST_ExteriorRing(geometry) 
     4699        RETURNS geometry 
     4700        AS '@MODULE_FILENAME@','LWGEOM_exteriorring_polygon' 
     4701        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     4702 
     4703-- Deprecation in 1.2.3 
    31284704CREATEFUNCTION NumInteriorRings(geometry) 
    31294705        RETURNS integer 
     
    31314707        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31324708 
     4709-- Availability: 1.2.2 
     4710CREATEFUNCTION ST_NumInteriorRings(geometry) 
     4711        RETURNS integer 
     4712        AS '@MODULE_FILENAME@','LWGEOM_numinteriorrings_polygon' 
     4713        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     4714 
     4715-- Deprecation in 1.2.3 
    31334716CREATEFUNCTION NumInteriorRing(geometry) 
    31344717        RETURNS integer 
     
    31364719        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31374720 
     4721-- Availability: 1.2.2 
     4722CREATEFUNCTION ST_NumInteriorRing(geometry) 
     4723        RETURNS integer 
     4724        AS '@MODULE_FILENAME@','LWGEOM_numinteriorrings_polygon' 
     4725        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     4726 
     4727-- Deprecation in 1.2.3 
    31384728CREATEFUNCTION InteriorRingN(geometry,integer) 
    31394729        RETURNS geometry 
     
    31414731        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31424732 
     4733-- Availability: 1.2.2 
     4734CREATEFUNCTION ST_InteriorRingN(geometry,integer) 
     4735        RETURNS geometry 
     4736        AS '@MODULE_FILENAME@','LWGEOM_interiorringn_polygon' 
     4737        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     4738 
     4739-- Deprecation in 1.2.3 
    31434740CREATEFUNCTION GeometryType(geometry) 
    31444741        RETURNS text 
     
    31464743        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31474744 
     4745-- Availability: 1.2.2 
     4746CREATEFUNCTION ST_GeometryType(geometry) 
     4747        RETURNS text 
     4748        AS '@MODULE_FILENAME@', 'LWGEOM_getTYPE' 
     4749        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     4750 
     4751-- Deprecation in 1.2.3 
    31484752CREATEFUNCTION PointN(geometry,integer) 
    31494753        RETURNS geometry 
     
    31514755        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31524756 
     4757-- Availability: 1.2.2 
     4758CREATEFUNCTION ST_PointN(geometry,integer) 
     4759        RETURNS geometry 
     4760        AS '@MODULE_FILENAME@','LWGEOM_pointn_linestring' 
     4761        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     4762 
     4763-- Deprecation in 1.2.3 
    31534764CREATEFUNCTION X(geometry) 
    31544765        RETURNS float8 
     
    31564767        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31574768 
     4769-- Deprecation in 1.2.3 
    31584770CREATEFUNCTION Y(geometry) 
    31594771        RETURNS float8 
     
    31614773        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31624774 
     4775-- Deprecation in 1.2.3 
    31634776CREATEFUNCTION Z(geometry) 
    31644777        RETURNS float8 
     
    31664779        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31674780 
     4781-- Availability: 1.2.2 
     4782CREATEFUNCTION ST_Z(geometry) 
     4783        RETURNS float8 
     4784        AS '@MODULE_FILENAME@','LWGEOM_z_point' 
     4785        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     4786 
     4787-- Deprecation in 1.2.3 
    31684788CREATEFUNCTION M(geometry) 
    31694789        RETURNS float8 
     
    31714791        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31724792 
     4793-- Availability: 1.2.2 
     4794CREATEFUNCTION ST_M(geometry) 
     4795        RETURNS float8 
     4796        AS '@MODULE_FILENAME@','LWGEOM_m_point' 
     4797        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
     4798 
     4799-- Deprecation in 1.2.3 
    31734800CREATEFUNCTION StartPoint(geometry) 
    31744801        RETURNS geometry 
     
    31764803        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31774804 
     4805-- Deprecation in 1.2.3 
    31784806CREATEFUNCTION EndPoint(geometry) 
    31794807        RETURNS geometry 
     
    31814809        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31824810 
     4811-- Deprecation in 1.2.3 
    31834812CREATEFUNCTION IsClosed(geometry) 
    31844813        RETURNS boolean 
     
    31864815        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31874816 
     4817-- Deprecation in 1.2.3 
    31884818CREATEFUNCTION IsEmpty(geometry) 
    31894819        RETURNS boolean 
     
    31914821        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); 
    31924822 
     4823-- Deprecation in 1.2.3 
    31934824CREATEFUNCTION SRID(geometry)  
    31944825        RETURNS int4 
    31954826        AS '@MODULE_FILENAME@','LWGEOM_getSRID' 
    31964827        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    3197          
     4828 
     4829-- Deprecation in 1.2.3 
    31984830CREATEFUNCTION SetSRID(geometry,int4)  
     4831        RETURNS geometry 
     4832        AS '@MODULE_FILENAME@','LWGEOM_setSRID' 
     4833        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);   
     4834 
     4835-- Availability: 1.2.2 
     4836CREATEFUNCTION ST_SetSRID(geometry,int4)  
    31994837        RETURNS geometry 
    32004838        AS '@MODULE_FILENAME@','LWGEOM_setSRID' 
    32014839        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);   
    32024840         
     4841-- Deprecation in 1.2.3 
    32034842CREATEFUNCTION AsBinary(geometry) 
    32044843        RETURNS bytea 
     
    32064845        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32074846 
     4847-- Deprecation in 1.2.3 
    32084848CREATEFUNCTION AsBinary(geometry,text) 
    32094849        RETURNS bytea 
     
    32114851        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32124852 
     4853-- Availability: 1.2.2 
     4854CREATEFUNCTION ST_AsBinary(geometry,text) 
     4855        RETURNS bytea 
     4856        AS '@MODULE_FILENAME@','LWGEOM_asBinary' 
     4857        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4858 
     4859-- Deprecation in 1.2.3 
    32134860CREATEFUNCTION AsText(geometry) 
    32144861        RETURNS TEXT 
     
    32164863        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32174864 
     4865-- Deprecation in 1.2.3 
    32184866CREATEFUNCTION GeometryFromText(text) 
    32194867        RETURNS geometry 
     
    32214869        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32224870 
     4871-- Availability: 1.2.2 
     4872CREATEFUNCTION ST_GeometryFromText(text) 
     4873        RETURNS geometry 
     4874        AS '@MODULE_FILENAME@','LWGEOM_from_text' 
     4875        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4876 
     4877-- Deprecation in 1.2.3 
    32234878CREATEFUNCTION GeometryFromText(text, int4) 
    32244879        RETURNS geometry 
     
    32264881        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32274882 
     4883-- Availability: 1.2.2 
     4884CREATEFUNCTION ST_GeometryFromText(text, int4) 
     4885        RETURNS geometry 
     4886        AS '@MODULE_FILENAME@','LWGEOM_from_text' 
     4887        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4888 
     4889-- Deprecation in 1.2.3 
    32284890CREATEFUNCTION GeomFromText(text) 
    32294891        RETURNS geometry AS 'SELECT geometryfromtext($1)' 
    32304892        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32314893 
     4894-- Availability: 1.2.2 
     4895CREATEFUNCTION ST_GeomFromText(text) 
     4896        RETURNS geometry AS 'SELECT geometryfromtext($1)' 
     4897        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4898 
     4899-- Deprecation in 1.2.3 
    32324900CREATEFUNCTION GeomFromText(text, int4) 
    32334901        RETURNS geometry AS 'SELECT geometryfromtext($1, $2)' 
    32344902        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32354903 
     4904-- Deprecation in 1.2.3 
    32364905CREATEFUNCTION PointFromText(text) 
    32374906        RETURNS geometry 
     
    32434912        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32444913 
     4914-- Availability: 1.2.2 
     4915CREATEFUNCTION ST_PointFromText(text) 
     4916        RETURNS geometry 
     4917        AS ' 
     4918        SELECT CASE WHEN geometrytype(GeomFromText($1)) = ''POINT'' 
     4919        THEN GeomFromText($1) 
     4920        ELSE NULL END 
     4921        ' 
     4922        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4923 
     4924-- Deprecation in 1.2.3 
    32454925CREATEFUNCTION PointFromText(text, int4) 
    32464926        RETURNS geometry 
     
    32524932        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32534933 
     4934-- Deprecation in 1.2.3 
    32544935CREATEFUNCTION LineFromText(text) 
    32554936        RETURNS geometry 
     
    32614942        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32624943 
     4944-- Availability: 1.2.2 
     4945CREATEFUNCTION ST_LineFromText(text) 
     4946        RETURNS geometry 
     4947        AS ' 
     4948        SELECT CASE WHEN geometrytype(GeomFromText($1)) = ''LINESTRING'' 
     4949        THEN GeomFromText($1) 
     4950        ELSE NULL END 
     4951        ' 
     4952        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4953 
     4954-- Deprecation in 1.2.3 
    32634955CREATEFUNCTION LineFromText(text, int4) 
    32644956        RETURNS geometry 
     
    32704962        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32714963 
     4964-- Deprecation in 1.2.3 
    32724965CREATEFUNCTION LineStringFromText(text) 
    32734966        RETURNS geometry 
     
    32754968        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32764969 
     4970-- Deprecation in 1.2.3 
    32774971CREATEFUNCTION LineStringFromText(text, int4) 
    32784972        RETURNS geometry 
     
    32804974        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32814975 
     4976-- Deprecation in 1.2.3 
    32824977CREATEFUNCTION PolyFromText(text) 
    32834978        RETURNS geometry 
     
    32894984        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32904985 
     4986-- Availability: 1.2.2 
     4987CREATEFUNCTION ST_PolyFromText(text) 
     4988        RETURNS geometry 
     4989        AS ' 
     4990        SELECT CASE WHEN geometrytype(GeomFromText($1)) = ''POLYGON'' 
     4991        THEN GeomFromText($1) 
     4992        ELSE NULL END 
     4993        ' 
     4994        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     4995 
     4996-- Deprecation in 1.2.3 
    32914997CREATEFUNCTION PolyFromText(text, int4) 
    32924998        RETURNS geometry 
     
    32985004        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    32995005 
     5006-- Deprecation in 1.2.3 
    33005007CREATEFUNCTION PolygonFromText(text, int4) 
    33015008        RETURNS geometry 
     
    33035010        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    33045011 
     5012-- Availability: 1.2.2 
     5013CREATEFUNCTION ST_PolygonFromText(text, int4) 
     5014        RETURNS geometry 
     5015        AS 'SELECT PolyFromText($1, $2)' 
     5016        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5017 
     5018-- Deprecation in 1.2.3 
    33055019CREATEFUNCTION PolygonFromText(text) 
    33065020        RETURNS geometry 
     
    33085022        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    33095023 
     5024-- Availability: 1.2.2 
     5025CREATEFUNCTION ST_PolygonFromText(text) 
     5026        RETURNS geometry 
     5027        AS 'SELECT PolyFromText($1)' 
     5028        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5029 
     5030-- Deprecation in 1.2.3 
    33105031CREATEFUNCTION MLineFromText(text, int4) 
    33115032        RETURNS geometry 
     
    33185039        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    33195040 
     5041-- Deprecation in 1.2.3 
    33205042CREATEFUNCTION MLineFromText(text) 
    33215043        RETURNS geometry 
     
    33275049        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    33285050 
     5051-- Availability: 1.2.2 
     5052CREATEFUNCTION ST_MLineFromText(text) 
     5053        RETURNS geometry 
     5054        AS ' 
     5055        SELECT CASE WHEN geometrytype(GeomFromText($1)) = ''MULTILINESTRING'' 
     5056        THEN GeomFromText($1) 
     5057        ELSE NULL END 
     5058        ' 
     5059        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5060 
     5061-- Deprecation in 1.2.3 
    33295062CREATEFUNCTION MultiLineStringFromText(text) 
    33305063        RETURNS geometry 
     
    33325065        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    33335066 
     5067-- Availability: 1.2.2 
     5068CREATEFUNCTION ST_MultiLineStringFromText(text) 
     5069        RETURNS geometry 
     5070        AS 'SELECT MLineFromText($1)' 
     5071        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5072 
     5073-- Deprecation in 1.2.3 
    33345074CREATEFUNCTION MultiLineStringFromText(text, int4) 
    33355075        RETURNS geometry 
     
    33375077        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    33385078 
     5079-- Availability: 1.2.2 
     5080CREATEFUNCTION ST_MultiLineStringFromText(text, int4) 
     5081        RETURNS geometry 
     5082        AS 'SELECT MLineFromText($1, $2)' 
     5083        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5084 
     5085-- Deprecation in 1.2.3 
    33395086CREATEFUNCTION MPointFromText(text, int4) 
    33405087        RETURNS geometry 
     
    33465093        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    33475094 
     5095-- Deprecation in 1.2.3 
    33485096CREATEFUNCTION MPointFromText(text) 
    33495097        RETURNS geometry 
     
    33555103        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    33565104 
     5105-- Availability: 1.2.2 
     5106CREATEFUNCTION ST_MPointFromText(text) 
     5107        RETURNS geometry 
     5108        AS ' 
     5109        SELECT CASE WHEN geometrytype(GeomFromText($1)) = ''MULTIPOINT'' 
     5110        THEN GeomFromText($1) 
     5111        ELSE NULL END 
     5112        ' 
     5113        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5114 
     5115-- Deprecation in 1.2.3 
    33575116CREATEFUNCTION MultiPointFromText(text, int4) 
    33585117        RETURNS geometry 
     
    33605119        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    33615120 
     5121-- Deprecation in 1.2.3 
    33625122CREATEFUNCTION MultiPointFromText(text) 
    33635123        RETURNS geometry 
     
    33655125        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    33665126 
     5127-- Availability: 1.2.2 
     5128CREATEFUNCTION ST_MultiPointFromText(text) 
     5129        RETURNS geometry 
     5130        AS 'SELECT MPointFromText($1)' 
     5131        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5132 
     5133-- Deprecation in 1.2.3 
     5134CREATEFUNCTION MultiPointFromText(text) 
     5135        RETURNS geometry 
     5136        AS 'SELECT MPointFromText($1)' 
     5137        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5138 
     5139-- Availability: 1.2.2 
     5140CREATEFUNCTION ST_MultiPointFromText(text) 
     5141        RETURNS geometry 
     5142        AS 'SELECT MPointFromText($1)' 
     5143        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5144 
     5145-- Deprecation in 1.2.3 
    33675146CREATEFUNCTION MPolyFromText(text, int4) 
    33685147        RETURNS geometry 
     
    33745153        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    33755154 
     5155-- Deprecation in 1.2.3 
    33765156CREATEFUNCTION MPolyFromText(text) 
    33775157        RETURNS geometry 
     
    33835163        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    33845164 
     5165--Availability: 1.2.2 
     5166CREATEFUNCTION ST_MPolyFromText(text) 
     5167        RETURNS geometry 
     5168        AS ' 
     5169        SELECT CASE WHEN geometrytype(GeomFromText($1)) = ''MULTIPOLYGON'' 
     5170        THEN GeomFromText($1) 
     5171        ELSE NULL END 
     5172        ' 
     5173        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5174 
     5175-- Deprecation in 1.2.3 
    33855176CREATEFUNCTION MultiPolygonFromText(text, int4) 
    33865177        RETURNS geometry 
     
    33885179        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    33895180 
     5181-- Availability: 1.2.2 
     5182CREATEFUNCTION ST_MultiPolygonFromText(text, int4) 
     5183        RETURNS geometry 
     5184        AS 'SELECT MPolyFromText($1, $2)' 
     5185        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5186 
     5187-- Deprecation in 1.2.3 
    33905188CREATEFUNCTION MultiPolygonFromText(text) 
    33915189        RETURNS geometry 
     
    33935191        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    33945192 
     5193-- Availability: 1.2.2 
     5194CREATEFUNCTION ST_MultiPolygonFromText(text) 
     5195        RETURNS geometry 
     5196        AS 'SELECT MPolyFromText($1)' 
     5197        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5198 
     5199-- Deprecation in 1.2.3 
    33955200CREATEFUNCTION GeomCollFromText(text, int4) 
    33965201        RETURNS geometry 
     
    34035208        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    34045209 
     5210-- Availability: 1.2.2 
     5211CREATEFUNCTION ST_GeomCollFromText(text, int4) 
     5212        RETURNS geometry 
     5213        AS ' 
     5214        SELECT CASE 
     5215        WHEN geometrytype(GeomFromText($1, $2)) = ''GEOMETRYCOLLECTION'' 
     5216        THEN GeomFromText($1,$2) 
     5217        ELSE NULL END 
     5218        ' 
     5219        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5220 
     5221-- Deprecation in 1.2.3 
    34055222CREATEFUNCTION GeomCollFromText(text) 
    34065223        RETURNS geometry 
     
    34135230        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    34145231 
     5232-- Availability: 1.2.2 
     5233CREATEFUNCTION ST_GeomCollFromText(text) 
     5234        RETURNS geometry 
     5235        AS ' 
     5236        SELECT CASE 
     5237        WHEN geometrytype(GeomFromText($1)) = ''GEOMETRYCOLLECTION'' 
     5238        THEN GeomFromText($1) 
     5239        ELSE NULL END 
     5240        ' 
     5241        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5242 
     5243-- Deprecation in 1.2.3 
    34155244CREATEFUNCTION GeomFromWKB(bytea) 
    34165245        RETURNS geometry 
     
    34185247        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    34195248 
     5249-- Availability: 1.2.2 
     5250CREATEFUNCTION ST_GeomFromWKB(bytea) 
     5251        RETURNS geometry 
     5252        AS '@MODULE_FILENAME@','LWGEOM_from_WKB' 
     5253        LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5254 
     5255-- Deprecation in 1.2.3 
    34205256CREATEFUNCTION GeomFromWKB(bytea, int) 
    34215257        RETURNS geometry 
     
    34235259        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    34245260 
     5261-- Availability: 1.2.2 
     5262CREATEFUNCTION ST_GeomFromWKB(bytea, int) 
     5263        RETURNS geometry 
     5264        AS 'SELECT setSRID(GeomFromWKB($1), $2)' 
     5265        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5266 
     5267-- Deprecation in 1.2.3 
    34255268CREATEFUNCTION PointFromWKB(bytea, int) 
    34265269        RETURNS geometry 
     
    34325275        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    34335276 
     5277-- Deprecation in 1.2.3 
    34345278CREATEFUNCTION PointFromWKB(bytea) 
    34355279        RETURNS geometry 
     
    34415285        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    34425286 
     5287-- Availability: 1.2.2 
     5288CREATEFUNCTION ST_PointFromWKB(bytea) 
     5289        RETURNS geometry 
     5290        AS ' 
     5291        SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''POINT'' 
     5292        THEN GeomFromWKB($1) 
     5293        ELSE NULL END 
     5294        ' 
     5295        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5296 
     5297-- Deprecation in 1.2.3 
    34435298CREATEFUNCTION LineFromWKB(bytea, int) 
    34445299        RETURNS geometry 
     
    34505305        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    34515306 
     5307-- Deprecation in 1.2.3 
    34525308CREATEFUNCTION LineFromWKB(bytea) 
    34535309        RETURNS geometry 
     
    34595315        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    34605316 
     5317-- Availability: 1.2.2 
     5318CREATEFUNCTION ST_LineFromWKB(bytea) 
     5319        RETURNS geometry 
     5320        AS ' 
     5321        SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''LINESTRING'' 
     5322        THEN GeomFromWKB($1) 
     5323        ELSE NULL END 
     5324        ' 
     5325        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5326 
     5327-- Deprecation in 1.2.3 
    34615328CREATEFUNCTION LinestringFromWKB(bytea, int) 
    34625329        RETURNS geometry 
     
    34685335        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    34695336 
     5337-- Availability: 1.2.2 
     5338CREATEFUNCTION ST_LinestringFromWKB(bytea, int) 
     5339        RETURNS geometry 
     5340        AS ' 
     5341        SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = ''LINESTRING'' 
     5342        THEN GeomFromWKB($1, $2) 
     5343        ELSE NULL END 
     5344        ' 
     5345        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5346 
     5347-- Deprecation in 1.2.3 
    34705348CREATEFUNCTION LinestringFromWKB(bytea) 
    34715349        RETURNS geometry 
     
    34775355        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    34785356 
     5357-- Availability: 1.2.2 
     5358CREATEFUNCTION ST_LinestringFromWKB(bytea) 
     5359        RETURNS geometry 
     5360        AS ' 
     5361        SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''LINESTRING'' 
     5362        THEN GeomFromWKB($1) 
     5363        ELSE NULL END 
     5364        ' 
     5365        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5366 
     5367-- Deprecation in 1.2.3 
    34795368CREATEFUNCTION PolyFromWKB(bytea, int) 
    34805369        RETURNS geometry 
     
    34865375        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    34875376 
     5377-- Deprecation in 1.2.3 
    34885378CREATEFUNCTION PolyFromWKB(bytea) 
    34895379        RETURNS geometry 
     
    34955385        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    34965386 
     5387-- Availability: 1.2.2 
     5388CREATEFUNCTION ST_PolyFromWKB(bytea) 
     5389        RETURNS geometry 
     5390        AS ' 
     5391        SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''POLYGON'' 
     5392        THEN GeomFromWKB($1) 
     5393        ELSE NULL END 
     5394        ' 
     5395        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5396 
     5397-- Deprecation in 1.2.3 
    34975398CREATEFUNCTION PolygonFromWKB(bytea, int) 
    34985399        RETURNS geometry 
     
    35045405        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    35055406 
     5407-- Availability: 1.2.2 
     5408CREATEFUNCTION ST_PolygonFromWKB(bytea, int) 
     5409        RETURNS geometry 
     5410        AS ' 
     5411        SELECT CASE WHEN geometrytype(GeomFromWKB($1,$2)) = ''POLYGON'' 
     5412        THEN GeomFromWKB($1, $2) 
     5413        ELSE NULL END 
     5414        ' 
     5415        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5416 
     5417-- Deprecation in 1.2.3 
    35065418CREATEFUNCTION PolygonFromWKB(bytea) 
    35075419        RETURNS geometry 
     
    35135425        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    35145426 
     5427-- Availability: 1.2.2 
     5428CREATEFUNCTION ST_PolygonFromWKB(bytea) 
     5429        RETURNS geometry 
     5430        AS ' 
     5431        SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''POLYGON'' 
     5432        THEN GeomFromWKB($1) 
     5433        ELSE NULL END 
     5434        ' 
     5435        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5436 
     5437-- Deprecation in 1.2.3 
    35155438CREATEFUNCTION MPointFromWKB(bytea, int) 
    35165439        RETURNS geometry 
     
    35225445        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    35235446 
     5447-- Deprecation in 1.2.3 
    35245448CREATEFUNCTION MPointFromWKB(bytea) 
    35255449        RETURNS geometry 
     
    35315455        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    35325456 
     5457-- Availability: 1.2.2 
     5458CREATEFUNCTION ST_MPointFromWKB(bytea) 
     5459        RETURNS geometry 
     5460        AS ' 
     5461        SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''MULTIPOINT'' 
     5462        THEN GeomFromWKB($1) 
     5463        ELSE NULL END 
     5464        ' 
     5465        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5466 
     5467-- Deprecation in 1.2.3 
    35335468CREATEFUNCTION MultiPointFromWKB(bytea, int) 
    35345469        RETURNS geometry 
     
    35405475        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    35415476 
     5477-- Availability: 1.2.2 
     5478CREATEFUNCTION ST_MultiPointFromWKB(bytea, int) 
     5479        RETURNS geometry 
     5480        AS ' 
     5481        SELECT CASE WHEN geometrytype(GeomFromWKB($1,$2)) = ''MULTIPOINT'' 
     5482        THEN GeomFromWKB($1, $2) 
     5483        ELSE NULL END 
     5484        ' 
     5485        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5486 
     5487-- Deprecation in 1.2.3 
    35425488CREATEFUNCTION MultiPointFromWKB(bytea) 
    35435489        RETURNS geometry 
     
    35495495        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    35505496 
     5497-- Availability: 1.2.2 
     5498CREATEFUNCTION ST_MultiPointFromWKB(bytea) 
     5499        RETURNS geometry 
     5500        AS ' 
     5501        SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''MULTIPOINT'' 
     5502        THEN GeomFromWKB($1) 
     5503        ELSE NULL END 
     5504        ' 
     5505        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5506 
     5507-- Deprecation in 1.2.3 
    35515508CREATEFUNCTION MultiLineFromWKB(bytea, int) 
    35525509        RETURNS geometry 
     
    35585515        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    35595516 
     5517-- Availability: 1.2.2 
     5518CREATEFUNCTION MultiLineFromWKB(bytea, int) 
     5519        RETURNS geometry 
     5520        AS ' 
     5521        SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = ''MULTILINESTRING'' 
     5522        THEN GeomFromWKB($1, $2) 
     5523        ELSE NULL END 
     5524        ' 
     5525        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5526 
     5527-- Deprecation in 1.2.3 
    35605528CREATEFUNCTION MultiLineFromWKB(bytea) 
    35615529        RETURNS geometry 
     
    35675535        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    35685536 
     5537-- Availability: 1.2.2 
     5538CREATEFUNCTION ST_MultiLineFromWKB(bytea) 
     5539        RETURNS geometry 
     5540        AS ' 
     5541        SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''MULTILINESTRING'' 
     5542        THEN GeomFromWKB($1) 
     5543        ELSE NULL END 
     5544        ' 
     5545        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5546 
     5547-- Deprecation in 1.2.3 
    35695548CREATEFUNCTION MLineFromWKB(bytea, int) 
    35705549        RETURNS geometry 
     
    35765555        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    35775556 
     5557-- Deprecation in 1.2.3 
    35785558CREATEFUNCTION MLineFromWKB(bytea) 
    35795559        RETURNS geometry 
     
    35855565        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    35865566 
     5567-- Availability: 1.2.2 
     5568CREATEFUNCTION ST_MLineFromWKB(bytea) 
     5569        RETURNS geometry 
     5570        AS ' 
     5571        SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''MULTILINESTRING'' 
     5572        THEN GeomFromWKB($1) 
     5573        ELSE NULL END 
     5574        ' 
     5575        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5576 
     5577-- Deprecation in 1.2.3 
    35875578CREATEFUNCTION MPolyFromWKB(bytea, int) 
    35885579        RETURNS geometry 
     
    35945585        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    35955586 
     5587-- Deprecation in 1.2.3 
    35965588CREATEFUNCTION MPolyFromWKB(bytea) 
    35975589        RETURNS geometry 
     
    36035595        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    36045596 
     5597-- Availability: 1.2.2 
     5598CREATEFUNCTION ST_MPolyFromWKB(bytea) 
     5599        RETURNS geometry 
     5600        AS ' 
     5601        SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''MULTIPOLYGON'' 
     5602        THEN GeomFromWKB($1) 
     5603        ELSE NULL END 
     5604        ' 
     5605        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5606 
     5607-- Deprecation in 1.2.3 
    36055608CREATEFUNCTION MultiPolyFromWKB(bytea, int) 
    36065609        RETURNS geometry 
     
    36125615        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    36135616 
     5617-- Availability: 1.2.2 
     5618CREATEFUNCTION ST_MultiPolyFromWKB(bytea, int) 
     5619        RETURNS geometry 
     5620        AS ' 
     5621        SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = ''MULTIPOLYGON'' 
     5622        THEN GeomFromWKB($1, $2) 
     5623        ELSE NULL END 
     5624        ' 
     5625        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5626 
     5627-- Deprecation in 1.2.3 
    36145628CREATEFUNCTION MultiPolyFromWKB(bytea) 
    36155629        RETURNS geometry 
     
    36215635        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    36225636 
     5637-- Availability: 1.2.2 
     5638CREATEFUNCTION ST_MultiPolyFromWKB(bytea) 
     5639        RETURNS geometry 
     5640        AS ' 
     5641        SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''MULTIPOLYGON'' 
     5642        THEN GeomFromWKB($1) 
     5643        ELSE NULL END 
     5644        ' 
     5645        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5646 
     5647-- Deprecation in 1.2.3 
    36235648CREATEFUNCTION GeomCollFromWKB(bytea, int) 
    36245649        RETURNS geometry 
     
    36315656        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
    36325657 
     5658-- Availability: 1.2.2 
     5659CREATEFUNCTION ST_GeomCollFromWKB(bytea, int) 
     5660        RETURNS geometry 
     5661        AS ' 
     5662        SELECT CASE 
     5663        WHEN geometrytype(GeomFromWKB($1, $2)) = ''GEOMETRYCOLLECTION'' 
     5664        THEN GeomFromWKB($1, $2) 
     5665        ELSE NULL END 
     5666        ' 
     5667        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5668 
     5669-- Deprecation in 1.2.3 
    36335670CREATEFUNCTION GeomCollFromWKB(bytea) 
     5671        RETURNS geometry 
     5672        AS ' 
     5673        SELECT CASE 
     5674        WHEN geometrytype(GeomFromWKB($1)) = ''GEOMETRYCOLLECTION'' 
     5675        THEN GeomFromWKB($1) 
     5676        ELSE NULL END 
     5677        ' 
     5678        LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); 
     5679 
     5680-- Availability: 1.2.2 
     5681CREATEFUNCTION ST_GeomCollFromWKB(bytea) 
    36345682        RETURNS geometry 
    36355683        AS ' 
     
    36555703-- Also, we profit from plpgsql to RAISE exceptions. 
    36565704-- 
     5705-- Deprecation in 1.2.3 
    36575706CREATE OR REPLACE FUNCTION BdPolyFromText(text, integer) 
    36585707RETURNS geometry 
     
    36835732LANGUAGE 'plpgsql' _IMMUTABLE_STRICT;  
    36845733 
     5734-- Availability: 1.2.2 
     5735CREATE OR REPLACE FUNCTION ST_BdPolyFromText(text, integer) 
     5736RETURNS geometry 
     5737AS ' 
     5738DECLARE 
     5739        geomtext alias for $1; 
     5740        srid alias for $2; 
     5741        mline geometry; 
     5742        geom geometry; 
     5743BEGIN 
     5744        mline := MultiLineStringFromText(geomtext, srid); 
     5745 
     5746        IF mline IS NULL 
     5747        THEN 
     5748                RAISE EXCEPTION ''Input is not a MultiLinestring''; 
     5749        END IF; 
     5750 
     5751        geom := BuildArea(mline); 
     5752 
     5753        IF GeometryType(geom) != ''POLYGON'' 
     5754        THEN 
     5755                RAISE EXCEPTION ''Input returns more then a single polygon, try using BdMPolyFromText instead''; 
     5756        END IF; 
     5757 
     5758        RETURN geom; 
     5759END; 
     5760' 
     5761LANGUAGE 'plpgsql' _IMMUTABLE_STRICT;  
     5762 
    36855763-- 
    36865764-- SFSQL 1.1 
     
    36955773-- To raise an exception in case of invalid input. 
    36965774-- 
     5775-- Deprecation in 1.2.3 
    36975776CREATEFUNCTION BdMPolyFromText(text, integer) 
    36985777RETURNS geometry 
     
    37185797LANGUAGE 'plpgsql' _IMMUTABLE_STRICT;  
    37195798 
     5799-- Availability: 1.2.2 
     5800CREATEFUNCTION ST_BdMPolyFromText(text, integer) 
     5801RETURNS geometry 
     5802AS ' 
     5803DECLARE 
     5804        geomtext alias for $1; 
     5805        srid alias for $2; 
     5806        mline geometry; 
     5807        geom geometry; 
     5808BEGIN 
     5809        mline := MultiLineStringFromText(geomtext, srid); 
     5810 
     5811        IF mline IS NULL 
     5812        THEN 
     5813                RAISE EXCEPTION ''Input is not a MultiLinestring''; 
     5814        END IF; 
     5815 
     5816        geom := multi(BuildArea(mline)); 
     5817 
     5818        RETURN geom; 
     5819END; 
     5820' 
     5821LANGUAGE 'plpgsql' _IMMUTABLE_STRICT;  
     5822 
    37205823#include "long_xact.sql.in" 
    37215824#include "sqlmm.sql.in" 
  • trunk/lwgeom/sqlmm.sql.in

    r2536 r2616  
    379379    RETURNS boolean 
    380380    AS ' 
    381     SELECT CASE zmflag($1) 
     381    SELECT CASE ST_zmflag($1) 
    382382               WHEN 0 THEN false 
    383383               WHEN 1 THEN false 
     
    393393    RETURNS boolean 
    394394    AS ' 
    395     SELECT CASE zmflag($1) 
     395    SELECT CASE ST_zmflag($1) 
    396396               WHEN 0 THEN false 
    397397               WHEN 1 THEN true 
  • trunk/regress/affine_expected

    r2352 r2616  
    3434rotZ_bbox|BOX(-1 0,0 0) 
    3535rotY_bbox|BOX(-1 0,0 0) 
     36translate|POINT(5 12) 
     37translate|POINT(-3 -7 3) 
     38scale|POINT(5 5) 
     39scale|POINT(3 2) 
     40scale|POINT(40 40 40) 
     41rotateZ|POINT(-1 -1) 
     42rotateZ|POINT(-1 1) 
     43rotateZ|POINT(1 -1) 
     44rotateZ|POINT(1 1) 
     45rotateY|POINT(-1 1 -1) 
     46rotateY|POINT(1 1 -1) 
     47rotateY|POINT(-1 1 1) 
     48rotateY|POINT(1 1 1) 
     49rotateX|POINT(1 -1 -1) 
     50rotateX|POINT(1 -1 1) 
     51rotateX|POINT(1 1 -1) 
     52rotateX|POINT(1 1 1) 
     53transscale|POINT(2 2) 
     54transscale|POINT(3 3) 
     55transscale|POINT(0 0) 
     56transscale|POINT(1 2) 
     57transscale|POINT(2 1) 
     58transscale|POINT(0 2) 
     59transscale|POINT(2 0) 
     60transscale|POINT(3 2) 
     61transscale|POINT(2 3) 
     62transscale|POINT(4 2) 
     63transscale|POINT(2 4) 
     64transscale|POINT(15 28) 
     65transscale|POINT(15 28 1) 
     66transl_bbox|BOX(1 0,2 1) 
     67scale_bbox|BOX(2 0,4 0) 
     68tscale_bbox|BOX(3 1,4 2) 
     69rotZ_bbox|BOX(-1 0,0 0) 
     70rotY_bbox|BOX(-1 0,0 0) 
  • trunk/regress/affine.sql

    r2399 r2616  
    5050select 'rotZ_bbox', box2d(SnapToGrid(rotateZ('LINESTRING(0 0, 1 0)'::geometry, pi()), 0.1)); 
    5151select 'rotY_bbox', box2d(SnapToGrid(rotateY('LINESTRING(0 0, 1 0)'::geometry, pi()), 0.1)); 
     52 
     53-- Repeat all tests with the new function names. 
     54-- translate 
     55select 'translate', ST_asewkt(ST_translate('POINT(0 0)'::geometry, 5, 12)); 
     56select 'translate', ST_asewkt(ST_translate('POINT(0 0 0)'::geometry, -3, -7, 3)); 
     57 
     58-- scale 
     59select 'scale', ST_asewkt(ST_scale('POINT(1 1)'::geometry, 5, 5)); 
     60select 'scale', ST_asewkt(ST_scale('POINT(1 1)'::geometry, 3, 2)); 
     61select 'scale', ST_asewkt(ST_scale('POINT(10 20 -5)'::geometry, 4, 2, -8)); 
     62 
     63-- rotateZ 
     64select 'rotateZ', ST_asewkt(ST_SnapToGrid(rotateZ('POINT(1 1)'::geometry, pi()), 0.1)); 
     65select 'rotateZ', ST_asewkt(ST_SnapToGrid(rotateZ('POINT(1 1)'::geometry, pi()/2), 0.1)); 
     66select 'rotateZ', ST_asewkt(ST_SnapToGrid(rotateZ('POINT(1 1)'::geometry, pi()+pi()/2), 0.1)); 
     67select 'rotateZ', ST_asewkt(ST_SnapToGrid(rotateZ('POINT(1 1)'::geometry, 2*pi()), 0.1)); 
     68 
     69-- rotateY 
     70select 'rotateY', ST_asewkt(ST_SnapToGrid(rotateY('POINT(1 1 1)'::geometry, pi()), 0.1)); 
     71select 'rotateY', ST_asewkt(ST_SnapToGrid(rotateY('POINT(1 1 1)'::geometry, pi()/2), 0.1)); 
     72select 'rotateY', ST_asewkt(ST_SnapToGrid(rotateY('POINT(1 1 1)'::geometry, pi()+pi()/2), 0.1)); 
     73select 'rotateY', ST_asewkt(ST_SnapToGrid(rotateY('POINT(1 1 1)'::geometry, 2*pi()), 0.1)); 
     74 
     75-- rotateX 
     76select 'rotateX', ST_asewkt(ST_SnapToGrid(rotateX('POINT(1 1 1)'::geometry, pi()), 0.1)); 
     77select 'rotateX', ST_asewkt(ST_SnapToGrid(rotateX('POINT(1 1 1)'::geometry, pi()/2), 0.1)); 
     78select 'rotateX', ST_asewkt(ST_SnapToGrid(rotateX('POINT(1 1 1)'::geometry, pi()+pi()/2), 0.1)); 
     79select 'rotateX', ST_asewkt(ST_SnapToGrid(rotateX('POINT(1 1 1)'::geometry, 2*pi()), 0.1)); 
     80 
     81-- transscale 
     82select 'transscale', ST_asewkt(ST_snapToGrid(transscale('POINT(1 1)'::geometry,1, 1, 1, 1), 0.1)); 
     83select 'transscale', ST_asewkt(ST_snapToGrid(transscale('POINT(2 2)'::geometry,1, 1, 1, 1), 0.1)); 
     84select 'transscale', ST_asewkt(ST_snapToGrid(transscale('POINT(1 1)'::geometry,-1, -1, -1, -1), 0.1)); 
     85select 'transscale', ST_asewkt(ST_snapToGrid(transscale('POINT(1 1)'::geometry,0, 1, 1, 1), 0.1)); 
     86select 'transscale', ST_asewkt(ST_snapToGrid(transscale('POINT(1 1)'::geometry,1, 0, 1, 1), 0.1)); 
     87select 'transscale', ST_asewkt(ST_snapToGrid(transscale('POINT(1 1)'::geometry,1, 1, 0, 1), 0.1)); 
     88select 'transscale', ST_asewkt(ST_snapToGrid(transscale('POINT(1 1)'::geometry,1, 1, 1, 0), 0.1)); 
     89select 'transscale', ST_asewkt(ST_snapToGrid(transscale('POINT(1 1)'::geometry,2, 1, 1, 1), 0.1)); 
     90select 'transscale', ST_asewkt(ST_snapToGrid(transscale('POINT(1 1)'::geometry,1, 2, 1, 1), 0.1)); 
     91select 'transscale', ST_asewkt(ST_snapToGrid(transscale('POINT(1 1)'::geometry,1, 1, 2, 1), 0.1)); 
     92select 'transscale', ST_asewkt(ST_snapToGrid(transscale('POINT(1 1)'::geometry,1, 1, 1, 2), 0.1)); 
     93select 'transscale', ST_asewkt(ST_snapToGrid(transscale('POINT(1 1)'::geometry,2, 3, 5, 7), 0.1)); 
     94select 'transscale', ST_asewkt(ST_snapToGrid(transscale('POINT(1 1 1)'::geometry,2, 3, 5, 7), 0.1)); 
     95 
     96-- postgis-users/2006-May/012119.html 
     97select 'transl_bbox', ST_box2d(ST_translate('LINESTRING(0 0, 1 1)'::geometry, 1, 0, 0)); 
     98select 'scale_bbox', ST_box2d(ST_scale('LINESTRING(1 0, 2 1)'::geometry, 2, 0)); 
     99select 'tscale_bbox', ST_box2d(ST_transscale('LINESTRING(1 0, 2 1)'::geometry, 2, 1, 1, 1)); 
     100 
     101select 'rotZ_bbox', ST_box2d(ST_SnapToGrid(rotateZ('LINESTRING(0 0, 1 0)'::geometry, pi()), 0.1)); 
     102select 'rotY_bbox', ST_box2d(ST_SnapToGrid(rotateY('LINESTRING(0 0, 1 0)'::geometry, pi()), 0.1)); 
  • trunk/regress/ctors_expected

    r2462 r2616  
    77BOX3D(0 0 0,1 1 0) 
    88ERROR:  Operation on mixed SRID geometries 
     932749 
     10ERROR:  Operation on mixed SRID geometries 
     11SRID=3;LINESTRING(0 0,1 1) 
     12ERROR:  Operation on mixed SRID geometries 
     13BOX(0 0,1 1) 
     14ERROR:  Operation on mixed SRID geometries 
     15BOX3D(0 0 0,1 1 0) 
     16ERROR:  Operation on mixed SRID geometries 
  • trunk/regress/ctors.sql

    r2462 r2616  
    1313select makebox3d('SRID=3;POINT(0 0)', 'SRID=3;POINT(1 1)'); 
    1414select makebox3d('POINT(0 0)', 'SRID=3;POINT(1 1)'); 
     15 
     16-- Repeat all tests with the new function names. 
     17-- postgis-users/2006-July/012764.html 
     18SELECT ST_SRID(collect('SRID=32749;POINT(0 0)', 'SRID=32749;POINT(1 1)')); 
     19 
     20SELECT ST_collect('SRID=32749;POINT(0 0)', 'SRID=32740;POINT(1 1)'); 
     21 
     22select ST_asewkt(makeline('SRID=3;POINT(0 0)', 'SRID=3;POINT(1 1)')); 
     23select ST_makeline('POINT(0 0)', 'SRID=3;POINT(1 1)'); 
     24 
     25-- postgis-users/2006-July/012788.html 
     26select ST_makebox2d('SRID=3;POINT(0 0)', 'SRID=3;POINT(1 1)'); 
     27select ST_makebox2d('POINT(0 0)', 'SRID=3;POINT(1 1)'); 
     28 
     29select ST_makebox3d('SRID=3;POINT(0 0)', 'SRID=3;POINT(1 1)'); 
     30select ST_makebox3d('POINT(0 0)', 'SRID=3;POINT(1 1)'); 
  • trunk/regress/kml_expected

    r2595 r2616  
    2020<Point><coordinates>-73.1978481045547,6.76797715816346,0</coordinates></Point> 
    2121<Point><coordinates>-74.0775046875181,4.59620005298432,0</coordinates></Point> 
     22ERROR:  Input geometry has unknown (-1) SRID 
     23ERROR:  geometry_to_kml: 'Curve' geometry type not supported by Google Earth 
     24ERROR:  geometry_to_kml: 'CompoundString' geometry type not supported by Google Earth 
     25ERROR:  geometry_to_kml: 'Invalid type' geometry type not supported by Google Earth 
     26ERROR:  geometry_to_kml: 'Invalid type' geometry type not supported by Google Earth 
     27ERROR:  geometry_to_kml: 'Invalid type' geometry type not supported by Google Earth 
     28ERROR:  Precision out of range 1..15 
     29ERROR:  Precision out of range 1..15 
     30ERROR:  Only KML 2 is supported 
     31<Point><coordinates>-75.5521729775749,10.4203366345305,0</coordinates></Point> 
     32<Point><coordinates>-75.55217298,10.42033663,0</coordinates></Point> 
     33<LineString><coordinates>-75.5884516874785,6.23081171191744,0 -75.5925764681848,6.20903425257533,0</coordinates></LineString> 
     34<LineString><coordinates>-75.58845169,6.230811712,0 -75.59257647,6.209034253,0</coordinates></LineString> 
     35<Polygon><outerBoundaryIs><LinearRing><coordinates>-74.042399,4.701288,0 -74.042099,4.700951,0 -74.042018,4.701012,0 -74.041835,4.700831,0 -74.041486,4.70114,0 -74.041328,4.700977,0 -74.04102,4.701245,0 -74.041178,4.701426,0 -74.040872,4.701697,0 -74.040941,4.701774,0 -74.0409,4.702606,0 -74.040824,4.702678,0 -74.041066,4.70295,0 -74.040873,4.703121,0 -74.041189,4.703468,0 -74.041383,4.703309,0 -74.041739,4.703689,0 -74.041924,4.703528,0 -74.041954,4.703555,0 -74.042307,4.703239,0 -74.042075,4.702978,0 -74.042155,4.702908,0 -74.04195,4.702675,0 -74.042096,4.702534,0 -74.042035,4.702467,0 -74.042053,4.702038,0 -74.042123,4.701974,0 -74.041986,4.701817,0 -74.042222,4.701604,0 -74.042149,4.70152,0 -74.042399,4.701288,0</coordinates></LinearRing></outerBoundaryIs></Polygon> 
     36<Polygon><outerBoundaryIs><LinearRing><coordinates>-74.04239911,4.701288195,0 -74.04209926,4.700950994,0 -74.0420183,4.701011516,0 -74.04183483,4.700831449,0 -74.04148629,4.70114015,0 -74.04132847,4.700976981,0 -74.04101991,4.701244757,0 -74.04117774,4.701425554,0 -74.04087245,4.701697127,0 -74.04094064,4.70177368,0 -74.04089953,4.70260566,0 -74.04082413,4.702677666,0 -74.04106565,4.702949831,0 -74.04087265,4.703121095,0 -74.04118885,4.703468333,0 -74.04138265,4.703308984,0 -74.04173931,4.703688848,0 -74.0419237,4.703528239,0 -74.04195356,4.703554861,0 -74.04230658,4.703239478,0 -74.04207492,4.702978243,0 -74.0421547,4.702907817,0 -74.04195033,4.702675127,0 -74.04209558,4.702533577,0 -74.04203505,4.702466796,0 -74.04205318,4.702038078,0 -74.04212336,4.701974338,0 -74.04198589,4.701816902,0 -74.04222168,4.701604424,0 -74.04214902,4.701519996,0 -74.04239911,4.701288195,0</coordinates></LinearRing></outerBoundaryIs></Polygon> 
     37<MultiGeometry><Point><coordinates>-74.0460345759477,4.75468700665652,0</coordinates></Point><Point><coordinates>-74.095833,4.746435,0</coordinates></Point><Point><coordinates>-74.1103754749261,4.7098754227297,0</coordinates></Point><Point><coordinates>-74.120148,4.533696,0</coordinates></Point></MultiGeometry> 
     38<MultiGeometry><Point><coordinates>-74.04603458,4.754687007,0</coordinates></Point><Point><coordinates>-74.095833,4.746435,0</coordinates></Point><Point><coordinates>-74.11037547,4.709875423,0</coordinates></Point><Point><coordinates>-74.120148,4.533696,0</coordinates></Point></MultiGeometry> 
     39<Point><coordinates>-73.1137865115871,7.10625638610512,0</coordinates></Point> 
     40<Point><coordinates>-73.1978481045547,6.76797715816346,0</coordinates></Point> 
     41<Point><coordinates>-74.0775046875181,4.59620005298432,0</coordinates></Point> 
  • trunk/regress/kml.sql

    r2595 r2616  
    5252SELECT AsKML(GeomFromEWKT('SRID=1021892;POINT(1000000 1000000)')); 
    5353 
     54-- Repeat all tests with the new function names. 
     55-- NO SRID PROVIDED 
     56SELECT ST_AsKML(ST_GeomFromEWKT('POINT(1 1)')); 
     57 
     58-- UNSUPPORTED GEOMETRY TYPES 
     59SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;CIRCULARSTRING(-2 0,0 2,2 0,0 2,2 4)')); 
     60SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;COMPOUNDCURVE(CIRCULARSTRING(0 0,1 1,1 0),(1 0,0 1))')); 
     61SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),(-1 0,0 0.5,1 0,0 1,-1 0))')); 
     62SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;MULTICURVE((5 5,3 5,3 3,0 3),CIRCULARSTRING(0 0,2 1,2 2))')); 
     63SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),(-1 0,0 0.5,1 0,0 1,-1 0)),((7 8,10 10,6 14,4 11,7 8)))')); 
     64 
     65-- PARAMETERS 
     66SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;POINT(1 1)'), 0); 
     67SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;POINT(1 1)'), 16); 
     68SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;POINT(1 1)'), 15, 3); 
     69 
     70-- SIMPLE FEATURES 
     71-- San Felipe de Barajas Fortresses - Cartagena, Colombia (Placemark) http://en.wikipedia.org/wiki/Cartagena%2C_Bol%C3%ADvar 
     72SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;POINT(-75.55217297757488 10.42033663453054)')); 
     73SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;POINT(-75.55217297757488 10.42033663453054)'), 10); 
     74-- Olaya Herrera Airport - Medellin, Colombia (Path) http://en.wikipedia.org/wiki/Olaya_Herrera_Airport 
     75SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;LINESTRING(-75.58845168747847 6.230811711917435, -75.59257646818483 6.209034252575331)')); 
     76SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;LINESTRING(-75.58845168747847 6.230811711917435, -75.59257646818483 6.209034252575331)'), 10); 
     77-- Unicentro Shopping Centre - Bogota, Colombia (Polygon) http://www.unicentrobogota.com/ 
     78SELECT ST_AsKML(ST_SnapToGrid(GeomFromEWKT('SRID=4326;POLYGON((-74.0423991077642 4.70128819450968, -74.04209925973704 4.700950993650923, -74.0420182951016 4.701011516462908, -74.04183483125468 4.700831448835688, -74.0414862905795 4.70114015046422, -74.04132847200927 4.70097698051241, -74.04101990886149 4.701244756502166, -74.0411777421693 4.701425554204853, -74.04087244656924 4.701697127180076, -74.040940643764 4.701773680406961, -74.04089952744008 4.702605660205299, -74.04082413388542 4.702677666010084, -74.04106565350325 4.702949831221687, -74.04087265096442 4.703121094787139, -74.04118884713594 4.7034683330851, -74.04138264686453 4.703308983914091, -74.04173931195382 4.703688847671272, -74.04192370456995 4.703528238994438, -74.0419535628069 4.70355486096117, -74.04230657961881 4.703239478084376, -74.04207492135191 4.702978242710751, -74.0421546959669 4.702907817351857, -74.04195032608129 4.70267512672329, -74.04209558069562 4.702533577124568, -74.04203505048247 4.702466795922, -74.04205318281811 4.702038077671765, -74.04212335562635 4.701974337580458, -74.04198589330784 4.701816901909086, -74.04222167646385 4.70160442413543, -74.04214901975594 4.701519995786457, -74.0423991077642 4.70128819450968))'), 0.000001)); 
     79SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;POLYGON((-74.0423991077642 4.70128819450968, -74.04209925973704 4.700950993650923, -74.0420182951016 4.701011516462908, -74.04183483125468 4.700831448835688, -74.0414862905795 4.70114015046422, -74.04132847200927 4.70097698051241, -74.04101990886149 4.701244756502166, -74.0411777421693 4.701425554204853, -74.04087244656924 4.701697127180076, -74.040940643764 4.701773680406961, -74.04089952744008 4.702605660205299, -74.04082413388542 4.702677666010084, -74.04106565350325 4.702949831221687, -74.04087265096442 4.703121094787139, -74.04118884713594 4.7034683330851, -74.04138264686453 4.703308983914091, -74.04173931195382 4.703688847671272, -74.04192370456995 4.703528238994438, -74.0419535628069 4.70355486096117, -74.04230657961881 4.703239478084376, -74.04207492135191 4.702978242710751, -74.0421546959669 4.702907817351857, -74.04195032608129 4.70267512672329, -74.04209558069562 4.702533577124568, -74.04203505048247 4.702466795922, -74.04205318281811 4.702038077671765, -74.04212335562635 4.701974337580458, -74.04198589330784 4.701816901909086, -74.04222167646385 4.70160442413543, -74.04214901975594 4.701519995786457, -74.0423991077642 4.70128819450968))'), 10); 
     80 
     81-- MULTI FEATURES 
     82-- Transmilenio mass-transit system Portal Stations - Bogota, Colombia (Placemarks) http://en.wikipedia.org/wiki/List_of_TransMilenio_Stations 
     83SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;MULTIPOINT((-74.04603457594773 4.754687006656519),(-74.095833 4.746435),(-74.11037547492613 4.7098754227297),(-74.120148 4.533696))')); 
     84SELECT ST_AsKML(ST_GeomFromEWKT('SRID=4326;MULTIPOINT((-74.04603457594773 4.754687006656519),(-74.095833 4.746435),(-74.11037547492613 4.7098754227297),(-74.120148 4.533696))'), 10); 
     85 
     86-- REPROJECTED DATA 
     87-- Sun Door Interchange - Bucaramanga, Colombia (Placemark) 
     88SELECT ST_AsKML(ST_GeomFromEWKT('SRID=1021892;POINT(1106465.31495947 1277689.13470039)')); 
     89-- Chicamocha, Suarez and Fonce rivers confluence - Santander, Colombia (Placemark) 
     90SELECT ST_AsKML(ST_GeomFromEWKT('SRID=1021892;POINT(1097247.52170185 1240255.74263751)')); 
     91-- National Astronomical Observatory of Colombia - Bogota, Colombia (Placemark) 
     92SELECT ST_AsKML(ST_GeomFromEWKT('SRID=1021892;POINT(1000000 1000000)')); 
     93 
    5494DELETE FROM spatial_ref_sys WHERE srid = 4326; 
    5595DELETE FROM spatial_ref_sys WHERE srid >= 1000000; 
  • trunk/regress/lwgeom_regress_expected

    r2532 r2616  
    6615063 
    7710431 
     8BOX(0 0.0999999940395355,11 12) 
     9BOX3D(0 0.1 -55,11 12 12) 
     1010431 
     1115063 
     1219695 
     1315063 
     1410431 
  • trunk/regress/lwgeom_regress.sql

    r2277 r2616  
    100100SELECT mem_size(collect(force_2d(force_4d(force_3dm(force_3dz(force_2d(geometry(wkb_ndr)))))))) from test_data; 
    101101 
     102-- 
     103SELECT id,wkt FROM test_data WHERE 
     104       ST_asEWKT(ST_geometry(wkt)) != wkt  OR 
     105       ST_asEWKT(ST_geometry(wkb_xdr)) != wkt OR  
     106       ST_asEWKT(ST_geometry(wkb_ndr)) != wkt OR 
     107       ST_asBinary(ST_geometry(wkb_ndr)) != ST_asBinary(ST_geometry(wkb_xdr)) OR 
     108       ST_asBinary(ST_geometry(wkt)) != ST_asBinary(ST_geometry(wkb_xdr)); 
     109 
     110 
     111SELECT ST_extent(ST_geometry(wkb_ndr)) from test_data; 
     112SELECT ST_extent3d(ST_geometry(wkb_ndr)) from test_data; 
     113SELECT ST_mem_size(ST_collect(ST_force_2d(ST_geometry(wkb_ndr)))) from test_data; 
     114SELECT ST_mem_size(ST_collect(ST_force_3dz(ST_geometry(wkb_ndr)))) from test_data; 
     115SELECT ST_mem_size(ST_collect(ST_force_4d(ST_force_2d(ST_geometry(wkb_ndr))))) from test_data; 
     116SELECT ST_mem_size(ST_collect(ST_force_3dm(ST_geometry(wkb_ndr)))) from test_data; 
     117SELECT ST_mem_size(ST_collect(ST_force_2d(ST_force_4d(ST_force_3dm(ST_force_3dz(ST_force_2d(ST_geometry(wkb_ndr)))))))) from test_data; 
     118 
    102119DROP TABLE test_data; 
  • trunk/regress/measures_expected

    r2367 r2616  
    99136|13 
    1010dist|1|1 
     11113|291 
     12114|140 
     13115|140 
     14116|4.24264068711929 
     15117|4.24264068711929 
     16118|5.19615242270663 
     17134|0 
     18135|13 
     19136|13 
     20dist|1|1 
  • trunk/regress/measures.sql

    r2367 r2616  
    1  
    21select '113', area2d('MULTIPOLYGON( ((0 0, 10 0, 10 10, 0 10, 0 0)),( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5) ) ,( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7, 5 7, 5 5),(1 1,2 1, 2 2, 1 2, 1 1) ) )'::GEOMETRY) as value; 
    32 
     
    1615select '136', distance('POINT(0 0)', translate('POINT(0 0)', 5, 12, 0)); 
    1716 
    18  
    1917-- postgis-users/2006-May/012174.html 
    20 select 'dist', distance(a,b), distance(b,a) from ( 
     18select 'dist', distance(a,b), ST_distance(b,a) from ( 
    2119        select 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'::geometry as a, 
    2220                'POLYGON((11 0, 11 10, 20 10, 20 0, 11 0), 
     
    2422        ) as foo; 
    2523 
     24-- Apply the same tests using the new function names. 
     25select '113', ST_area2d('MULTIPOLYGON( ((0 0, 10 0, 10 10, 0 10, 0 0)),( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5) ) ,( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7, 5 7, 5 5),(1 1,2 1, 2 2, 1 2, 1 1) ) )'::GEOMETRY) as value; 
     26 
     27select '114', ST_perimeter2d('MULTIPOLYGON( ((0 0, 10 0, 10 10, 0 10, 0 0)),( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5) ) ,( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7, 5 7, 5 5),(1 1,2 1, 2 2, 1 2, 1 1) ) )'::GEOMETRY) as value; 
     28 
     29select '115', ST_perimeter3d('MULTIPOLYGON( ((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0)),( (0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0),(5 5 0, 7 5 0, 7 7  0, 5 7 0, 5 5 0) ) ,( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1) ) )'::GEOMETRY) as value; 
     30 
     31 
     32select '116', ST_length2d('MULTILINESTRING((0 0, 1 1),(0 0, 1 1, 2 2) )'::GEOMETRY) as value; 
     33select '117', ST_length3d('MULTILINESTRING((0 0, 1 1),(0 0, 1 1, 2 2) )'::GEOMETRY) as value; 
     34select '118', ST_length3d('MULTILINESTRING((0 0 0, 1 1 1),(0 0 0, 1 1 1, 2 2 2) )'::GEOMETRY) as value; 
     35 
     36select '134', ST_distance('POINT(1 2)', 'POINT(1 2)'); 
     37select '135', ST_distance('POINT(5 0)', 'POINT(10 12)'); 
     38 
     39select '136', ST_distance('POINT(0 0)', ST_translate('POINT(0 0)', 5, 12, 0)); 
     40 
     41 
     42-- postgis-users/2006-May/012174.html 
     43select 'dist', ST_distance(a,b), ST_distance(b,a) from ( 
     44        select 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'::geometry as a, 
     45                'POLYGON((11 0, 11 10, 20 10, 20 0, 11 0), 
     46                        (15 5, 15 8, 17 8, 17 5, 15 5))'::geometry as b 
     47        ) as foo; 
     48 
  • trunk/regress/regress_bdpoly_expected

    r2165 r2616  
    1010ERROR:  Input returns more then a single polygon, try using BdMPolyFromText instead 
    1111BdMPolyFromText|SRID=3;MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0),(2 2,4 2,4 4,2 4,2 2),(5 5,7 5,7 7,5 7,5 5))) 
     12BuildArea|SRID=2;POLYGON((0 0 10,0 10 8,10 10 6,10 0 4,0 0 2)) 
     13BuildArea|SRID=3;POLYGON((0 0 10,0 10 8,10 10 6,10 0 4,0 0 2),(2 2 5,4 2 4,4 4 3,2 4 2,2 2 1),(5 5 6,7 5 7,7 7 8,5 7 9,5 5 10)) 
     14BuildArea|SRID=3;POLYGON((0 0,0 10,10 10,10 0,0 0),(2 2,4 2,4 4,2 4,2 2),(5 5,7 5,7 7,5 7,5 5)) 
     15BuildArea|SRID=3;POLYGON((0 0 10,0 10 8,10 10 6,10 0 4,0 0 2),(2 2 5,4 2 4,4 4 3,2 4 2,2 2 1),(5 5 6,7 5 7,7 7 8,5 7 9,5 5 10)) 
     16BuildArea|SRID=3;MULTIPOLYGON(((0 0 10,0 10 8,10 10 6,10 0 4,0 0 2),(2 2 5,4 2 4,4 4 3,2 4 2,2 2 1),(5 5 6,7 5 7,7 7 8,5 7 9,5 5 10)),((20 0 10,20 10 8,30 10 6,30 0 4,20 0 2),(22 2 5,24 2 4,24 4 3,22 4 2,22 2 1),(25 5 6,27 5 7,27 7 8,25 7 9,25 5 10))) 
     17BdMPolyFromText|SRID=3;MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0),(2 2,4 2,4 4,2 4,2 2),(5 5,7 5,7 7,5 7,5 5)),((20 0,20 10,30 10,30 0,20 0),(22 2,24 2,24 4,22 4,22 2),(25 5,27 5,27 7,25 7,25 5))) 
     18BdPolyFromText|SRID=3;POLYGON((0 0,0 10,10 10,10 0,0 0),(2 2,4 2,4 4,2 4,2 2),(5 5,7 5,7 7,5 7,5 5)) 
     19ERROR:  Input is not a MultiLinestring 
     20ERROR:  Input is not a MultiLinestring 
     21ERROR:  Input returns more then a single polygon, try using BdMPolyFromText instead 
     22BdMPolyFromText|SRID=3;MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0),(2 2,4 2,4 4,2 4,2 2),(5 5,7 5,7 7,5 7,5 5))) 
  • trunk/regress/regress_bdpoly.sql

    r2165 r2616  
    3030select 'BdMPolyFromText', asewkt(BdMPolyFromText('MULTILINESTRING((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2),(5 5, 5 7, 7 7, 7 5, 5 5))', 3)); 
    3131 
     32-- Repeat all tests with the new function names. 
     33-- Single 3dz polygon w/out holes 
     34select 'BuildArea', ST_asewkt(ST_buildarea('SRID=2;LINESTRING(0 0 2, 10 0 4, 10 10 6, 0 10 8, 0 0 10)')); 
     35 
     36-- Single 3dz polygon with holes 
     37select 'BuildArea', ST_asewkt(ST_buildarea('SRID=3;MULTILINESTRING((0 0 2, 10 0 4, 10 10 6, 0 10 8, 0 0 10),(2 2 1, 2 4 2, 4 4 3, 4 2 4, 2 2 5),(5 5 10, 5 7 9, 7 7 8, 7 5 7, 5 5 6))')); 
     38 
     39-- Single 3dm polygon with holes (M is currently discarded) 
     40select 'BuildArea', ST_asewkt(ST_buildarea('SRID=3;MULTILINESTRINGM((0 0 2, 10 0 4, 10 10 6, 0 10 8, 0 0 10),(2 2 1, 2 4 2, 4 4 3, 4 2 4, 2 2 5),(5 5 10, 5 7 9, 7 7 8, 7 5 7, 5 5 6))')); 
     41 
     42-- Single 4d polygon with holes (M is currently discarded) 
     43select 'BuildArea', ST_asewkt(ST_buildarea('SRID=3;MULTILINESTRING((0 0 2 9, 10 0 4 9, 10 10 6 9, 0 10 8 9, 0 0 10 9),(2 2 1 9, 2 4 2 9, 4 4 3 9, 4 2 4 9, 2 2 5 9),(5 5 10 9, 5 7 9 9, 7 7 8 9, 7 5 7 9, 5 5 6 9))')); 
     44 
     45-- Multi 4d polygon with holes (M is currently discarded) 
     46select 'BuildArea', ST_asewkt(ST_buildarea('SRID=3;MULTILINESTRING( (0 0 2 9, 10 0 4 9, 10 10 6 9, 0 10 8 9, 0 0 10 9), (2 2 1 9, 2 4 2 9, 4 4 3 9, 4 2 4 9, 2 2 5 9), (5 5 10 9, 5 7 9 9, 7 7 8 9, 7 5 7 9, 5 5 6 9), (20 0 2 9,30 0 4 9,30 10 6 9,20 10 8 9,20 0 10 9), (22 2 1 9,22 4 2 9,24 4 3 9,24 2 4 9,22 2 5 9), (25 5 10 9,25 7 9 9,27 7 8 9,27 5 7 9,25 5 6 9))')); 
     47 
     48-- Multi 2d polygon with holes (OGC doesn't support higher dims) 
     49select 'BdMPolyFromText', ST_asewkt(ST_BdMPolyFromText('MULTILINESTRING( (0 0, 10 0, 10 10, 0 10, 0 0), (2 2, 2 4, 4 4, 4 2, 2 2), (5 5, 5 7, 7 7, 7 5, 5 5), (20 0,30 0,30 10,20 10,20 0), (22 2,22 4,24 4,24 2,22 2), (25 5,25 7,27 7,27 5,25 5))', 3)); 
     50 
     51-- Single 2d polygon with holes (OGC doesn't support higher dims) 
     52select 'BdPolyFromText', ST_asewkt(ST_BdPolyFromText('MULTILINESTRING((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2),(5 5, 5 7, 7 7, 7 5, 5 5))', 3)); 
     53 
     54-- Invalid input (not a linestring) to BdPolyFromText and BdMPolyFromText 
     55select ST_BdPolyFromText('POINT(0 0)', 3); 
     56select ST_BdMPolyFromText('POINT(0 0)', 3); 
     57 
     58-- MultiPolygon forming input to BdPolyFromText  
     59select ST_BdPolyFromText('MULTILINESTRING( (0 0, 10 0, 10 10, 0 10, 0 0), (2 2, 2 4, 4 4, 4 2, 2 2), (5 5, 5 7, 7 7, 7 5, 5 5), (20 0,30 0,30 10,20 10,20 0), (22 2,22 4,24 4,24 2,22 2), (25 5,25 7,27 7,27 5,25 5))', 3); 
     60 
     61-- SinglePolygon forming input to BdMPolyFromText  
     62select 'BdMPolyFromText', ST_asewkt(ST_BdMPolyFromText('MULTILINESTRING((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2),(5 5, 5 7, 7 7, 7 5, 5 5))', 3)); 
     63 
  • trunk/regress/regress_expected

    r2367 r2616  
    105105105|f 
    106106106|BOX3D(0 0 0,7 7 0) 
     107106_|BOX3D(0 0 0,7 7 0) 
    107108107|POLYGON((0 0,0 7,7 7,7 0,0 0)) 
    108109108|2 
     110108_|2 
    109111109|4 
     112109_|4 
    110113110|6 
     114110_|6 
    111115111|528 
     116111_|528 
    112117112|3 
     118112_|3 
    113119121|BOX3D(1.19894826 1.20265412 0,999.932129 999.692932 0)|BOX3D(1.40486765 1.3484304 0,999.857666 999.936401 0) 
     120121_|BOX3D(1.19894826 1.20265412 0,999.932129 999.692932 0)|BOX3D(1.40486765 1.3484304 0,999.857666 999.936401 0) 
    114121122|f 
    115122123|f 
     
    121128129|34009|34009 
    122129131|1 
     130131_|1 
    123131132|2 
     132132_|2 
    124133133| 
     134133_| 
    125135133a|3 
     136133a_|3 
    126137133b| 
     138133b_| 
    127139133c| 
     140133c_| 
    128141133d|4 
     142133d_|4 
    129143133e| 
     144133e_| 
    130145137| 
     146137_| 
    131147138|BOX3D(0 0 0,0 0 0) 
     148138_|BOX3D(0 0 0,0 0 0) 
    132149139|SRID=2;GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY,POINT(0 0)) 
     150139_|SRID=2;GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY,POINT(0 0)) 
    133151140|SRID=3;MULTIPOINT(2 2) 
     152140_|SRID=3;MULTIPOINT(2 2) 
    134153141|SRID=4;MULTILINESTRING((2 2,3 3)) 
     154141_|SRID=4;MULTILINESTRING((2 2,3 3)) 
    135155142|SRID=5;MULTILINESTRING((2 2,3 3)) 
     156142_|SRID=5;MULTILINESTRING((2 2,3 3)) 
    136157143|SRID=6;MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0))) 
     158143_|SRID=6;MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0))) 
    137159144|POINTM(1 2 0) 
     160144_|POINTM(1 2 0) 
    138161145|POINT(1 2 0) 
     162145_|POINT(1 2 0) 
    139163146|POINT(1 2 0 3) 
     164146_|POINT(1 2 0 3) 
    140165147|POINT(1 2 3 0) 
     166147_|POINT(1 2 3 0) 
    141167148|LINESTRING(0 0,5 0,10 0) 
     168148_|LINESTRING(0 0,5 0,10 0) 
    142169150|SRID=6;GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0))) 
     170150_|SRID=6;GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0))) 
    143171151| 
     172151_| 
  • trunk/regress/regress_index.sql

    r2057 r2616  
    88CREATE INDEX quick_gist on test using gist (the_geom gist_geometry_ops); 
    99 
    10  select num,astext(the_geom) from test where the_geom && 'BOX3D(125 125,135 135)'::box3d order by num; 
     10 select num,ST_astext(the_geom) from test where the_geom && 'BOX3D(125 125,135 135)'::box3d order by num; 
    1111 
    1212set enable_seqscan = off; 
    1313 
    14  select num,astext(the_geom) from test where the_geom && 'BOX3D(125 125,135 135)'::box3d  order by num; 
     14 select num,ST_astext(the_geom) from test where the_geom && 'BOX3D(125 125,135 135)'::box3d  order by num; 
    1515 
    1616DROP TABLE test; 
  • trunk/regress/regress_lrs_expected

    r2292 r2616  
    3333line_interpolate_point|POINT(0 0) 
    3434line_interpolate_point|POINT(0.5 0.5 7.5) 
     352d| 
     363dz| 
     37PNTM_1|GEOMETRYCOLLECTIONM EMPTY 
     38PNTM_2|POINTM(1 2 3) 
     39PNTM_3|POINTM(1 2 3) 
     40PNTM_4|POINTM(1 2 3) 
     41PNTM_5|GEOMETRYCOLLECTIONM EMPTY 
     42MPNT_1|GEOMETRYCOLLECTIONM(POINT(1 2 2)) 
     43MPNT_2|GEOMETRYCOLLECTIONM(POINT(2 2 5)) 
     44MPNT_3|GEOMETRYCOLLECTIONM EMPTY 
     45MPNT_4|GEOMETRYCOLLECTIONM(POINT(1 2 8),POINT(2 2 5)) 
     46LINEZM_1|LINESTRING(0 8 80 2,0 0 0 10) 
     47LINEZM_2|LINESTRING(0 8 20 2,0 0 100 10) 
     48LINEZM_3|LINESTRING(0 8 80 2,0 0 0 10,8 0 0 2) 
     49LINEZM_4|GEOMETRYCOLLECTION(LINESTRING(0 9 90 2,0 1 10 18),LINESTRING(1 0 0 18,9 0 0 2)) 
     50LINEZM_5|GEOMETRYCOLLECTION(LINESTRING(0 9 90 2,0 1 10 18),LINESTRING(5.5 4.5 4.5 18,9.5 0.5 0.5 2)) 
     51LINEZM_6|POINT(9.5 0.5 0.5 2) 
     52line_locate_point|0.528602749909894 
     53line_locate_point|1 
     54line_locate_point|0 
     55line_substring|SRID=4326;LINESTRING(2 2 2 2,3 3 3 3,3.2 3.2 3.2 3.2) 
     56line_substring|LINESTRING(2 2 2 2,3 3 3 3) 
     57line_substring|LINESTRING(0 0,1 1) 
     58line_substring|LINESTRING(1 1,2 2) 
     59line_substring|LINESTRING(1 1,2 2) 
     60line_substring|LINESTRING(0 0,1 1) 
     61line_substring|LINESTRING(1 1,2 2) 
     62line_substring|LINESTRINGM(1 1 1,2 2 2) 
     63line_substring|LINESTRINGM(1 1 3,2 2 2) 
     64line_substring|LINESTRING(1 1 3,2 2 2) 
     65line_substring|POINT(0 0) 
     66line_substring|POINT(0.5 0.5 7.5) 
     67line_interpolate_point|POINT(0 0) 
     68line_interpolate_point|POINT(0.5 0.5 7.5) 
  • trunk/regress/regress_lrs.sql

    r2292 r2616  
    5454select 'line_interpolate_point', asewkt(line_interpolate_point('LINESTRING(0 0, 1 1)', 0)); 
    5555select 'line_interpolate_point', asewkt(line_interpolate_point('LINESTRING(0 0 10, 1 1 5)', 0.5)); 
     56 
     57-- Repeat all tests with the new function names. 
     58-- No M value 
     59select '2d',ST_asewkt(ST_locate_along_measure('POINT(1 2)', 1)); 
     60select '3dz',ST_asewkt(ST_locate_along_measure('POINT(1 2 3)', 1)); 
     61 
     62-- Points 
     63select 'PNTM_1',ST_asewkt(ST_locate_along_measure('POINTM(1 2 3)', 1)); 
     64select 'PNTM_2',ST_asewkt(ST_locate_along_measure('POINTM(1 2 3)', 3)); 
     65select 'PNTM_3',ST_asewkt(ST_locate_between_measures('POINTM(1 2 3)', 2, 3)); 
     66select 'PNTM_4',ST_asewkt(ST_locate_between_measures('POINTM(1 2 3)', 3, 4)); 
     67select 'PNTM_5',ST_asewkt(ST_locate_between_measures('POINTM(1 2 4.00001)', 3, 4)); 
     68 
     69-- Multipoints 
     70select 'MPNT_1',ST_asewkt(ST_locate_between_measures('MULTIPOINTM(1 2 2)', 2, 5)); 
     71select 'MPNT_2', ST_asewkt(ST_locate_between_measures('MULTIPOINTM(1 2 8, 2 2 5, 2 1 0)', 2, 5)); 
     72select 'MPNT_3', ST_asewkt(ST_locate_between_measures('MULTIPOINTM(1 2 8, 2 2 5.1, 2 1 0)', 2, 5)); 
     73select 'MPNT_4', ST_asewkt(ST_locate_between_measures('MULTIPOINTM(1 2 8, 2 2 5, 2 1 0)', 4, 8)); 
     74 
     75-- Linestrings 
     76select 'LINEZM_1', ST_asewkt(ST_locate_between_measures('LINESTRING(0 10 100 0, 0 0 0 10)', 2, 18)); 
     77select 'LINEZM_2', ST_asewkt(ST_locate_between_measures('LINESTRING(0 10 0 0, 0 0 100 10)', 2, 18)); 
     78select 'LINEZM_3', ST_asewkt(ST_locate_between_measures('LINESTRING(0 10 100 0, 0 0 0 10, 10 0 0 0)', 2, 18)); 
     79select 'LINEZM_4', ST_asewkt(ST_locate_between_measures('LINESTRING(0 10 100 0, 0 0 0 20, 10 0 0 0)', 2, 18)); 
     80select 'LINEZM_5', ST_asewkt(ST_locate_between_measures('LINESTRING(0 10 100 0, 0 0 0 20, 0 10 10 40, 10 0 0 0)', 2, 18)); 
     81select 'LINEZM_6', ST_asewkt(ST_locate_between_measures('LINESTRING(0 10 10 40, 10 0 0 0)', 2, 2)); 
     82 
     83--- line_locate_point 
     84 
     85SELECT 'line_locate_point', ST_line_locate_point('LINESTRING(709243.393033887 163969.752725768,708943.240904444 163974.593889146,708675.634380651 163981.832927298)', 'POINT(705780 15883)'); 
     86 
     87--- postgis-users/2006-January/010613.html 
     88select 'line_locate_point', ST_line_locate_point(ST_geomfromtext('LINESTRING(-1953743.873 471070.784,-1953735.105 471075.419,-1953720.034 471081.649)', 6269), ST_geomfromtext('POINT(-1953720.034 471081.649)', 6269)); 
     89select 'line_locate_point', ST_line_locate_point(ST_geomfromtext('LINESTRING(-1953743.873 471070.784,-1953735.105 471075.419,-1953720.034 471081.649)', 6269), ST_geomfromtext('POINT(-1953743.873 471070.784)', 6269)); 
     90 
     91--- line_substring / line_interpolate_point 
     92 
     93--- postgis-devel/2006-January/001951.html 
     94select 'line_substring', ST_asewkt(ST_line_substring(ST_geomfromewkt('SRID=4326;LINESTRING(0 0 0 0, 1 1 1 1, 2 2 2 2, 3 3 3 3, 4 4 4 4)'), 0.5, 0.8)); 
     95 
     96select 'line_substring', ST_asewkt(ST_line_substring('LINESTRING(0 0 0 0, 1 1 1 1, 2 2 2 2, 3 3 3 3, 4 4 4 4)', 0.5, 0.75)); 
     97select 'line_substring', ST_asewkt(ST_line_substring('LINESTRING(0 0, 1 1, 2 2)', 0, 0.5)); 
     98select 'line_substring', ST_asewkt(ST_line_substring('LINESTRING(0 0, 1 1, 2 2)', 0.5, 1)); 
     99select 'line_substring', ST_asewkt(ST_line_substring('LINESTRING(0 0, 2 2)', 0.5, 1)); 
     100select 'line_substring', ST_asewkt(ST_line_substring('LINESTRING(0 0, 2 2)', 0, 0.5)); 
     101select 'line_substring', ST_asewkt(ST_line_substring('LINESTRING(0 0, 4 4)', .25, 0.5)); 
     102select 'line_substring', ST_asewkt(ST_line_substring('LINESTRINGM(0 0 0, 4 4 4)', .25, 0.5)); 
     103select 'line_substring', ST_asewkt(ST_line_substring('LINESTRINGM(0 0 4, 4 4 0)', .25, 0.5)); 
     104select 'line_substring', ST_asewkt(ST_line_substring('LINESTRING(0 0 4, 4 4 0)', .25, 0.5)); 
     105 
     106select 'line_substring', ST_asewkt(ST_line_substring('LINESTRING(0 0, 1 1)', 0, 0)); 
     107select 'line_substring', ST_asewkt(ST_line_substring('LINESTRING(0 0 10, 1 1 5)', 0.5, .5)); 
     108 
     109--- line_interpolate_point 
     110 
     111select 'line_interpolate_point', ST_asewkt(ST_line_interpolate_point('LINESTRING(0 0, 1 1)', 0)); 
     112select 'line_interpolate_point', ST_asewkt(ST_line_interpolate_point('LINESTRING(0 0 10, 1 1 5)', 0.5)); 
  • trunk/regress/regress_ogc_expected

    r2614 r2616  
    7575NOTICE:  IllegalArgumentException: Number of points must be 0 or >3 
    7676ERROR:  POSTGIS2GEOS conversion failed 
     77buffer|POLYGON((1 0,0.707107 -0.707107,0 -1,-0.707107 -0.707107,-1 0,-0.707107 0.707107,0 1,0.707107 0.707107,1 0)) 
     78geomunion|MULTIPOINT(0 0,1 1) 
     79unite_garray|t 
     80convexhull|POLYGON((0 0,0 10,10 10,10 0,0 0)) 
     81relate|F0FFFF102 
     82relate|t 
     83relate|f 
     84disjoint|f 
     85touches|t 
     86intersects|t 
     87crosses|f 
     88crosses|t 
     89within100|t 
     90within101|f 
     91within102|f 
     92within103|f 
     93within104|f 
     94within105|t 
     95within106|t 
     96disjoint100|f 
     97disjoint101|f 
     98disjoint102|t 
     99disjoint103|f 
     100disjoint104|t 
     101disjoint105|f 
     102disjoint106|t 
     103disjoint150|f 
     104disjoint151|f 
     105disjoint152|t 
     106disjoint153|f 
     107disjoint154|t 
     108disjoint155|f 
     109disjoint156|t 
     110intersects100|t 
     111intersects101|t 
     112intersects102|f 
     113intersects103|t 
     114intersects104|f 
     115intersects105|t 
     116intersects106|f 
     117intersects150|t 
     118intersects151|t 
     119intersects152|f 
     120intersects153|t 
     121intersects154|f 
     122intersects155|t 
     123intersects156|f 
     124contains100|t 
     125contains101|f 
     126contains102|f 
     127contains103|f 
     128contains104|f 
     129contains105|t 
     130contains106|t 
     131within119|f 
     132within120|f 
     133overlaps|f 
     134isvalid|t 
     135NOTICE:  Self-intersection 
     136isvalid|f 
     137isvalid|t 
     138intersection|POINT(0 0) 
     139difference|MULTILINESTRING((0 10,0 2),(0 -2,0 -10)) 
     140boundary|MULTILINESTRING((0 0,0 10,10 10,10 0,0 0),(2 2,2 4,4 4,4 2,2 2)) 
     141symdifference|GEOMETRYCOLLECTION(LINESTRING(2 2,4 4),LINESTRING(10 10,20 20),POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,2 4,2 2,4 2,4 4))) 
     142issimple|t 
     143equals|t 
     144pointonsurface|POINT(5 5) 
     145centroid|POINT(5.08333333333333 5.08333333333333) 
     146exteriorring|LINESTRING(52 18,66 23,73 9,48 6,52 18) 
     147polygonize_garray|GEOMETRYCOLLECTION EMPTY 
     148polygonize_garray|POLYGON((10 0,0 0,0 10,10 10,10 0)) 
     149linemerge149|LINESTRING(-5 -5,0 0,1 1,4 4) 
     150intersects|f 
  • trunk/regress/regress_ogc.sql

    r2614 r2616  
    133133select '130', geosnoop('POLYGON((0 0, 1 1, 0 0))'); 
    134134 
     135-- Repeat all tests with new function names. 
     136SELECT 'buffer', ST_astext(ST_SnapToGrid(ST_buffer('POINT(0 0)', 1, 2), 1.0e-6)); 
     137 
     138SELECT 'geomunion', ST_astext(ST_union('POINT(0 0)', 'POINT(1 1)')); 
     139SELECT 'unite_garray', ST_equals(ST_unite_garray(ST_geom_accum('{POINT(0 0)}', 'POINT(2 3)')), 'MULTIPOINT(2 3,0 0)'); 
     140SELECT 'convexhull', ST_asewkt(ST_convexhull('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2))')); 
     141SELECT 'relate', ST_relate('POINT(0 0)', 'LINESTRING(0 0, 1 1)'); 
     142SELECT 'relate', ST_relate('POINT(0 0)', 'LINESTRING(0 0, 1 1)', 'F0FFFF*02'); 
     143SELECT 'relate', ST_relate('POINT(0 0)', 'LINESTRING(0 0, 1 1)', 'F0FFF0*02'); 
     144SELECT 'disjoint', ST_disjoint('POINT(0 0)', 'LINESTRING(0 0, 1 1)'); 
     145SELECT 'touches', ST_touches('LINESTRING(0 10, 0 -10)', 'LINESTRING(0 0, 1 1)'); 
     146SELECT 'intersects', ST_intersects('LINESTRING(0 10, 0 -10)', 'LINESTRING(0 0, 1 1)'); 
     147SELECT 'crosses', ST_crosses('LINESTRING(0 10, 0 -10)', 'LINESTRING(0 0, 1 1)'); 
     148SELECT 'crosses', ST_crosses('LINESTRING(0 10, 0 -10)', 'LINESTRING(-4 0, 1 1)'); 
     149-- PIP - point within polygon 
     150SELECT 'within100', ST_within('POINT(5 5)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     151-- PIP - point on vertex of polygon 
     152SELECT 'within101', ST_within('POINT(0 0)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     153-- PIP - point outside polygon 
     154SELECT 'within102', ST_within('POINT(-1 0)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     155-- PIP - point on edge of polygon 
     156SELECT 'within103', ST_within('POINT(0 5)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     157-- PIP - point in line with polygon edge 
     158SELECT 'within104', ST_within('POINT(0 12)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     159-- PIP - point vertically aligned with polygon vertex  
     160SELECT 'within105', ST_within(ST_GeomFromText('POINT(521513 5377804)', 32631), ST_GeomFromText('POLYGON((521526 5377783, 521481 5377811, 521494 5377832, 521539 5377804, 521526 5377783))', 32631)); 
     161-- PIP - repeated vertex  
     162SELECT 'within106', ST_within(ST_GeomFromText('POINT(521513 5377804)', 32631), ST_GeomFromText('POLYGON((521526 5377783, 521482 5377811, 521481 5377811, 521494 5377832, 521539 5377804, 521526 5377783))', 32631)); 
     163-- PIP - point within polygon 
     164SELECT 'disjoint100', ST_disjoint('POINT(5 5)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     165-- PIP - point on polygon vertex 
     166SELECT 'disjoint101', ST_disjoint('POINT(0 0)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     167-- PIP - point outside polygon 
     168SELECT 'disjoint102', ST_disjoint('POINT(-1 0)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     169-- PIP - point on polygon edge 
     170SELECT 'disjoint103', ST_disjoint('POINT(0 5)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     171-- PIP - point in line with polygon edge 
     172SELECT 'disjoint104', ST_disjoint('POINT(0 12)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     173-- PIP - point vertically aligned with polygon vertex  
     174SELECT 'disjoint105', ST_disjoint(ST_GeomFromText('POINT(521513 5377804)', 32631), ST_GeomFromText('POLYGON((521526 5377783, 521481 5377811, 521494 5377832, 521539 5377804, 521526 5377783))', 32631)); 
     175-- PIP - repeated vertex  
     176SELECT 'disjoint106', ST_disjoint(ST_GeomFromText('POINT(521543 5377804)', 32631), ST_GeomFromText('POLYGON((521526 5377783, 521482 5377811, 521494 5377832, 521539 5377804, 521526 5377783))', 32631)); 
     177-- PIP - point within polygon 
     178SELECT 'disjoint150', ST_disjoint('POINT(5 5)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     179-- PIP - point on polygon vertex 
     180SELECT 'disjoint151', ST_disjoint('POINT(0 0)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     181-- PIP - point outside polygon 
     182SELECT 'disjoint152', ST_disjoint('POINT(-1 0)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     183-- PIP - point on polygon edge 
     184SELECT 'disjoint153', ST_disjoint('POINT(0 5)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     185-- PIP - point in line with polygon edge 
     186SELECT 'disjoint154', ST_disjoint('POINT(0 12)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     187-- PIP - point vertically aligned with polygon vertex  
     188SELECT 'disjoint155', ST_disjoint(ST_GeomFromText('POINT(521513 5377804)', 32631), ST_GeomFromText('POLYGON((521526 5377783, 521481 5377811, 521494 5377832, 521539 5377804, 521526 5377783))', 32631)); 
     189-- PIP - repeated vertex 
     190SELECT 'disjoint156', ST_disjoint(ST_GeomFromText('POINT(521543 5377804)', 32631), ST_GeomFromText('POLYGON((521526 5377783, 521482 5377811, 521494 5377832, 521539 5377804, 521526 5377783))', 32631)); 
     191-- PIP - point within polygon 
     192SELECT 'intersects100', ST_intersects('POINT(5 5)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     193-- PIP - point on polygon vertex 
     194SELECT 'intersects101', ST_intersects('POINT(0 0)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     195-- PIP - point outside polygon 
     196SELECT 'intersects102', ST_intersects('POINT(-1 0)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     197-- PIP - point on polygon edge 
     198SELECT 'intersects103', ST_intersects('POINT(0 5)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     199-- PIP - point in line with polygon edge 
     200SELECT 'intersects104', ST_intersects('POINT(0 12)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     201-- PIP - point vertically aligned with polygon vertex  
     202SELECT 'intersects105', ST_intersects(ST_GeomFromText('POINT(521513 5377804)', 32631), ST_GeomFromText('POLYGON((521526 5377783, 521481 5377811, 521494 5377832, 521539 5377804, 521526 5377783))', 32631)); 
     203-- PIP - repeated vertex 
     204SELECT 'intersects106', ST_intersects(ST_GeomFromText('POINT(521543 5377804)', 32631), ST_GeomFromText('POLYGON((521526 5377783, 521482 5377811, 521494 5377832, 521539 5377804, 521526 5377783))', 32631)); 
     205-- PIP - point within polygon 
     206SELECT 'intersects150', ST_intersects('POINT(5 5)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     207-- PIP - point on polygon vertex 
     208SELECT 'intersects151', ST_intersects('POINT(0 0)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     209-- PIP - point outside polygon 
     210SELECT 'intersects152', ST_intersects('POINT(-1 0)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     211-- PIP - point on polygon edge 
     212SELECT 'intersects153', ST_intersects('POINT(0 5)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     213-- PIP - point in line with polygon edge 
     214SELECT 'intersects154', ST_intersects('POINT(0 12)', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     215-- PIP - point vertically aligned with polygon vertex  
     216SELECT 'intersects155', ST_intersects(ST_GeomFromText('POINT(521513 5377804)', 32631), ST_GeomFromText('POLYGON((521526 5377783, 521481 5377811, 521494 5377832, 521539 5377804, 521526 5377783))', 32631)); 
     217-- PIP - repeated vertex 
     218SELECT 'intersects156', ST_intersects(ST_GeomFromText('POINT(521543 5377804)', 32631), ST_GeomFromText('POLYGON((521526 5377783, 521482 5377811, 521494 5377832, 521539 5377804, 521526 5377783))', 32631)); 
     219-- PIP - point within polygon 
     220SELECT 'contains100', ST_contains('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))', 'POINT(5 5)'); 
     221-- PIP - point on vertex of polygon 
     222SELECT 'contains101', ST_contains('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))', 'POINT(0 0)'); 
     223-- PIP - point outside polygon 
     224SELECT 'contains102', ST_contains('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))', 'POINT(-1 0)'); 
     225-- PIP - point on edge of polygon 
     226SELECT 'contains103', ST_contains('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))', 'POINT(0 5)'); 
     227-- PIP - point in line with polygon edge 
     228SELECT 'contains104', ST_contains('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))', 'POINT(0 12)'); 
     229-- PIP - point vertically aligned with polygon vertex  
     230SELECT 'contains105', ST_contains(ST_GeomFromText('POLYGON((521526 5377783, 521481 5377811, 521494 5377832, 521539 5377804, 521526 5377783))', 32631), ST_GeomFromText('POINT(521513 5377804)', 32631)); 
     231-- PIP - repeated vertex  
     232SELECT 'contains106', ST_contains(ST_GeomFromText('POLYGON((521526 5377783, 521482 5377811, 521481 5377811, 521494 5377832, 521539 5377804, 521526 5377783))', 32631), ST_GeomFromText('POINT(521513 5377804)', 32631)); 
     233-- moved here from regress.sql 
     234select 'within119', ST_within('LINESTRING(-1 -1, -1 101, 101 101, 101 -1)'::GEOMETRY,'BOX3D(0 0, 100 100)'::BOX3D); 
     235select 'within120', ST_within('LINESTRING(-1 -1, -1 100, 101 100, 101 -1)'::GEOMETRY,'BOX3D(0 0, 100 100)'::BOX3D); 
     236SELECT 'overlaps', ST_overlaps('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))','POINT(5 5)'); 
     237SELECT 'isvalid', ST_isvalid('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'); 
     238SELECT 'isvalid', ST_isvalid('POLYGON((0 0, 0 10, 10 10, -5 10, 10 0, 0 0))'); 
     239SELECT 'isvalid', ST_isvalid('GEOMETRYCOLLECTION EMPTY'); 
     240SELECT 'intersection', ST_astext(ST_intersection('LINESTRING(0 10, 0 -10)', 'LINESTRING(0 0, 1 1)')); 
     241SELECT 'difference', ST_astext(ST_difference('LINESTRING(0 10, 0 -10)'::GEOMETRY, 'LINESTRING(0 2, 0 -2)'::GEOMETRY)); 
     242SELECT 'boundary', ST_astext(ST_boundary('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2))')); 
     243SELECT 'symdifference', ST_astext(ST_symdifference('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2))', 'LINESTRING(0 0, 20 20)')); 
     244SELECT 'issimple', ST_issimple('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2))'); 
     245SELECT 'equals', ST_equals('LINESTRING(0 0, 1 1)', 'LINESTRING(1 1, 0 0)'); 
     246SELECT 'pointonsurface', ST_astext(ST_pointonsurface('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2))')); 
     247SELECT 'centroid', ST_astext(ST_centroid('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2))')); 
     248SELECT 'exteriorring', ST_astext(ST_exteriorring(ST_PolygonFromText('POLYGON((52 18,66 23,73 9,48 6,52 18),(59 18,67 18,67 13,59 13,59 18))'))); 
     249SELECT 'polygonize_garray', ST_astext(ST_polygonize_garray('{0102000000020000000000000000000000000000000000000000000000000024400000000000000000:0102000000020000000000000000002440000000000000000000000000000000000000000000000000:0102000000020000000000000000002440000000000000244000000000000000000000000000000000:0102000000020000000000000000002440000000000000244000000000000024400000000000000000:0102000000020000000000000000002440000000000000244000000000000000000000000000002440:0102000000020000000000000000000000000000000000244000000000000000000000000000002440:0102000000020000000000000000000000000000000000244000000000000024400000000000002440:0102000000020000000000000000000000000000000000244000000000000000000000000000000000:0102000000020000000000000000000000000000000000244000000000000024400000000000000000}')); 
     250 
     251SELECT 'polygonize_garray', ST_astext(ST_geometryn(ST_polygonize_garray('{LINESTRING(0 0, 10 0):LINESTRING(10 0, 10 10):LINESTRING(10 10, 0 10):LINESTRING(0 10, 0 0)}'), 1)); 
     252 
     253select 'linemerge149', ST_asewkt(ST_linemerge('GEOMETRYCOLLECTION(LINESTRING(0 0, 1 1), LINESTRING(4 4, 1 1), LINESTRING(-5 -5, 0 0))'::geometry)); 
     254 
     255--- postgis-devel/2005-December/001784.html 
     256select 'intersects', ST_intersects( 
     257   ST_polygonfromtext('POLYGON((0.0 0.0,1.0 0.0,1.0 1.0,1.0 0.0,0.0 0.0))'), 
     258      ST_polygonfromtext('POLYGON((0.0 2.0,1.0 2.0,1.0 3.0,0.0 3.0,0.0 2.0))') 
     259      ); 
     260 
     261 
  • trunk/regress/regress_proj_expected

    r2606 r2616  
    88ERROR:  Input geometry has unknown (-1) SRID 
    998|SRID=1000002;POINT(0 0) 
     100|EMPTY 
     111|SRID=1000001;POINT(574600 5316780) 
     122|SRID=1000001;POINT(574600 5316780 171) 
     133|SRID=1000001;POINT(574600 5316780 171 -500) 
     144|SRID=1000001;LINESTRING(574600 5316780,573140 5427940) 
     155|SRID=1000001;LINESTRING(574600 5316780 0 0,573140 5427940 0 0) 
     166|16.00000000|48.00000000 
     17ERROR:  Input geometry has unknown (-1) SRID 
     188|SRID=1000002;POINT(0 0) 
  • trunk/regress/regress_proj.sql

    r2111 r2616  
    3636SELECT 8,AsEWKT(transform(GeomFromEWKT('SRID=1000002;POINT(0 0)'),1000002)); 
    3737 
     38-- Repeat all tests with the new function names. 
     39--- test #0: NULL values 
     40SELECT 0,coalesce(ST_AsText(ST_transform(NULL, 1000001)),'EMPTY'); 
     41 
     42--- test #1: a simple projection 
     43SELECT 1,ST_AsEWKT(ST_SnapToGrid(ST_transform(ST_GeomFromEWKT('SRID=1000002;POINT(16 48)'),1000001),10)); 
     44 
     45--- test #2: same in 3D 
     46SELECT 2,ST_AsEWKT(ST_SnapToGrid(ST_transform(ST_GeomFromEWKT('SRID=1000002;POINT(16 48 171)'),1000001),10)); 
     47 
     48--- test #3: same in 4D 
     49SELECT 3,ST_AsEWKT(ST_SnapToGrid(ST_transform(ST_GeomFromEWKT('SRID=1000002;POINT(16 48 171 -500)'),1000001),10)); 
     50 
     51--- test #4: LINESTRING projection, 2 points 
     52SELECT 4,ST_AsEWKT(ST_SnapToGrid(ST_transform(ST_GeomFromEWKT('SRID=1000002;LINESTRING(16 48, 16 49)'),1000001),10)); 
     53 
     54--- test #5: LINESTRING projection, 2 points, 4D 
     55SELECT 5,ST_AsEWKT(ST_SnapToGrid(ST_transform(ST_GeomFromEWKT('SRID=1000002;LINESTRING(16 48 0 0, 16 49 0 0)'),1000001),10)); 
     56 
     57--- test #6: re-projecting a projected value 
     58SELECT 6,round(ST_X(ST_transform(ST_transform(ST_GeomFromEWKT('SRID=1000002;POINT(16 48)'),1000001), 1000002))::numeric,8),round(ST_Y(ST_transform(ST_transform(ST_GeomFromEWKT('SRID=1000002;POINT(16 48)'),1000001), 1000002))::numeric,8); 
     59 
     60--- test #7: Should yield an error since input SRID is unknown 
     61SELECT ST_transform(ST_GeomFromEWKT('SRID=-1;POINT(0 0)'),1000002); 
     62 
     63--- test #8: Transforming to same SRID 
     64SELECT 8,ST_AsEWKT(ST_transform(ST_GeomFromEWKT('SRID=1000002;POINT(0 0)'),1000002)); 
     65 
    3866DELETE FROM spatial_ref_sys WHERE srid >= 1000000; 
    3967 
  • trunk/regress/regress.sql

    r2367 r2616  
    99--- basic datatypes (correct) 
    1010 
    11 select '1',asewkt('POINT( 1 2 )'::GEOMETRY) as geom; 
    12 select '2',asewkt('POINT( 1 2 3)'::GEOMETRY) as geom; 
    13  
    14 select '3',asewkt('LINESTRING( 0 0, 1 1, 2 2, 3 3 , 4 4)'::GEOMETRY) as geom; 
    15 select '4',asewkt('LINESTRING( 0 0 0 , 1 1 1 , 2 2 2 , 3 3 3, 4 4 4)'::GEOMETRY) as geom; 
    16 select '5',asewkt('LINESTRING( 1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15)'::GEOMETRY) as geom; 
    17  
    18 select '6',asewkt('POLYGON( (0 0, 10 0, 10 10, 0 10, 0 0) )'::GEOMETRY) as geom; 
    19 select '7',asewkt('POLYGON( (0 0 1 , 10 0 1, 10 10 1, 0 10 1, 0 0 1) )'::GEOMETRY) as geom; 
    20 select '8',asewkt('POLYGON( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5) )'::GEOMETRY) as geom; 
    21 select '9',asewkt('POLYGON( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5),(1 1,2 1, 2 2, 1 2, 1 1) )'::GEOMETRY) as geom; 
    22 select '10',asewkt('POLYGON( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1 , 5 7 1, 5 5 1) )'::GEOMETRY) as geom; 
    23 select '11',asewkt('POLYGON( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1) )'::GEOMETRY) as geom; 
    24  
    25 select '12',asewkt('GEOMETRYCOLLECTION(POINT( 1 2 ))'::GEOMETRY); 
    26 select '13',asewkt('GEOMETRYCOLLECTION(POINT( 1 2 3))'::GEOMETRY); 
    27 select '14',asewkt('GEOMETRYCOLLECTION(LINESTRING( 0 0, 1 1, 2 2, 3 3 , 4 4))'::GEOMETRY); 
    28 select '15',asewkt('GEOMETRYCOLLECTION(LINESTRING( 1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15))'::GEOMETRY); 
    29 select '16',asewkt('GEOMETRYCOLLECTION(POLYGON( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1 , 5 7 1, 5 5 1) ))'::GEOMETRY); 
    30 select '17',asewkt('GEOMETRYCOLLECTION(POINT( 1 2 0),POINT( 1 2 3) )'::GEOMETRY); 
    31 select '18',asewkt('GEOMETRYCOLLECTION(LINESTRING( 0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),POINT( 1 2 3) )'::GEOMETRY); 
    32 select '19',asewkt('GEOMETRYCOLLECTION(POINT( 1 2 ),LINESTRING( 0 0, 1 1, 2 2, 3 3 , 4 4) )'::GEOMETRY); 
    33 select '20',asewkt('GEOMETRYCOLLECTION(POINT( 1 2 0 ),POINT( 1 2 3),LINESTRING( 1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15) )'::GEOMETRY); 
    34 select '21',asewkt('GEOMETRYCOLLECTION(POINT( 1 2 0 ),POINT( 1 2 3),LINESTRING( 1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15),POLYGON( (0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0) ) )'::GEOMETRY); 
    35 select '22',asewkt('GEOMETRYCOLLECTION(POINT( 1 2 0),POINT( 1 2 3),POLYGON( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1) ) )'::GEOMETRY); 
    36  
    37 select '23',asewkt('MULTIPOINT( 1 2)'::GEOMETRY) as geom; 
    38 select '24',asewkt('MULTIPOINT( 1 2 3)'::GEOMETRY) as geom; 
    39 select '25',asewkt('MULTIPOINT( 1 2, 3 4, 5 6)'::GEOMETRY) as geom; 
    40 select '26',asewkt('MULTIPOINT( 1 2 3, 5 6 7, 8 9 10, 11 12 13)'::GEOMETRY) as geom; 
    41 select '27',asewkt('MULTIPOINT( 1 2 0, 1 2 3, 4 5 0, 6 7 8)'::GEOMETRY) as geom; 
    42 select '28',asewkt('MULTIPOINT( 1 2 3,4 5 0)'::GEOMETRY) as geom; 
    43  
    44 select '29',asewkt('MULTILINESTRING( (0 0, 1 1, 2 2, 3 3 , 4 4) )'::GEOMETRY) as geom; 
    45 select '30',asewkt('MULTILINESTRING( (0 0, 1 1, 2 2, 3 3 , 4 4),(0 0, 1 1, 2 2, 3 3 , 4 4))'::GEOMETRY) as geom; 
    46 select '31',asewkt('MULTILINESTRING( (0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15) )'::GEOMETRY) as geom; 
    47 select '32',asewkt('MULTILINESTRING( (1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(0 0 0, 1 1 0, 2 2 0, 3 3 0 , 4 4 0))'::GEOMETRY) as geom; 
    48  
    49 select '33',asewkt('MULTIPOLYGON( ((0 0, 10 0, 10 10, 0 10, 0 0)) )'::GEOMETRY) as geom; 
    50 select '34',asewkt('MULTIPOLYGON( ((0 0, 10 0, 10 10, 0 10, 0 0)),( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5) ) )'::GEOMETRY) as geom; 
    51 select '35',asewkt('MULTIPOLYGON( ((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0)),( (0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0),(5 5 0, 7 5 0, 7 7 0, 5 7 0, 5 5 0) ) ,( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1) ) )'::GEOMETRY) as geom; 
    52  
    53  
    54 select '36',asewkt('GEOMETRYCOLLECTION(MULTIPOINT( 1 2))'::GEOMETRY); 
    55 select '37',asewkt('GEOMETRYCOLLECTION(MULTIPOINT( 1 2 3))'::GEOMETRY); 
    56 select '38',asewkt('GEOMETRYCOLLECTION(MULTIPOINT( 1 2 3, 5 6 7, 8 9 10, 11 12 13))'::GEOMETRY); 
    57 select '39',asewkt('GEOMETRYCOLLECTION(MULTILINESTRING( (0 0, 1 1, 2 2, 3 3 , 4 4) ))'::GEOMETRY); 
    58 select '40',asewkt('GEOMETRYCOLLECTION(MULTILINESTRING( (1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0)))'::GEOMETRY); 
    59 select '41',asewkt('GEOMETRYCOLLECTION(MULTIPOLYGON( ((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0)),( (0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0),(5 5 0, 7 5 0, 7 7 0, 5 7 0, 5 5 0) ) ,( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1) ) ))'::GEOMETRY); 
    60 select '42',asewkt('GEOMETRYCOLLECTION(POINT( 1 2 0),MULTIPOINT( 1 2 3))'::GEOMETRY); 
    61 select '43',asewkt('GEOMETRYCOLLECTION(MULTIPOINT( 1 2 0, 3 4 0, 5 6 0),POINT( 1 2 3))'::GEOMETRY); 
    62 select '44',asewkt('GEOMETRYCOLLECTION(POINT( 1 2 3),MULTILINESTRING( (0 0 0, 1 1 0, 2 2 0, 3 3 0 , 4 4 0) ))'::GEOMETRY); 
    63 select '45',asewkt('GEOMETRYCOLLECTION(MULTILINESTRING( (0 0 0, 1 1 0, 2 2 0, 3 3 0 , 4 4 0) ),POINT( 1 2 3))'::GEOMETRY); 
    64 select '46',asewkt('GEOMETRYCOLLECTION(POINT( 1 2 3), MULTIPOLYGON( ((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0)),( (0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0),(5 5 0, 7 5 0, 7 7 0, 5 7 0, 5 5 0) ) ,( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1) ) ))'::GEOMETRY); 
    65 select '47',asewkt('GEOMETRYCOLLECTION(MULTIPOLYGON( ((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0)),( (0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0),(5 5 0, 7 5 0, 7 7 0, 5 7 0, 5 5 0) ) ,( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1) ) ),MULTILINESTRING( (0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15) ),MULTIPOINT( 1 2 3, 5 6 7, 8 9 10, 11 12 13))'::GEOMETRY); 
    66  
    67 select '48',asewkt('MULTIPOINT( -1 -2 -3, 5.4 6.6 7.77, -5.4 -6.6 -7.77, 1e6 1e-6 -1e6, -1.3e-6 -1.4e-5 0)'::GEOMETRY) as geom; 
    68  
    69 select '49', asewkt('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1) ))'::GEOMETRY) as geom; 
     11select '1',ST_asewkt('POINT( 1 2 )'::GEOMETRY) as geom; 
     12select '2',ST_asewkt('POINT( 1 2 3)'::GEOMETRY) as geom; 
     13 
     14select '3',ST_asewkt('LINESTRING( 0 0, 1 1, 2 2, 3 3 , 4 4)'::GEOMETRY) as geom; 
     15select '4',ST_asewkt('LINESTRING( 0 0 0 , 1 1 1 , 2 2 2 , 3 3 3, 4 4 4)'::GEOMETRY) as geom; 
     16select '5',ST_asewkt('LINESTRING( 1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15)'::GEOMETRY) as geom; 
     17 
     18select '6',ST_asewkt('POLYGON( (0 0, 10 0, 10 10, 0 10, 0 0) )'::GEOMETRY) as geom; 
     19select '7',ST_asewkt('POLYGON( (0 0 1 , 10 0 1, 10 10 1, 0 10 1, 0 0 1) )'::GEOMETRY) as geom; 
     20select '8',ST_asewkt('POLYGON( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5) )'::GEOMETRY) as geom; 
     21select '9',ST_asewkt('POLYGON( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5),(1 1,2 1, 2 2, 1 2, 1 1) )'::GEOMETRY) as geom; 
     22select '10',ST_asewkt('POLYGON( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1 , 5 7 1, 5 5 1) )'::GEOMETRY) as geom; 
     23select '11',ST_asewkt('POLYGON( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1) )'::GEOMETRY) as geom; 
     24 
     25select '12',ST_asewkt('GEOMETRYCOLLECTION(POINT( 1 2 ))'::GEOMETRY); 
     26select '13',ST_asewkt('GEOMETRYCOLLECTION(POINT( 1 2 3))'::GEOMETRY); 
     27select '14',ST_asewkt('GEOMETRYCOLLECTION(LINESTRING( 0 0, 1 1, 2 2, 3 3 , 4 4))'::GEOMETRY); 
     28select '15',ST_asewkt('GEOMETRYCOLLECTION(LINESTRING( 1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15))'::GEOMETRY); 
     29select '16',ST_asewkt('GEOMETRYCOLLECTION(POLYGON( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1 , 5 7 1, 5 5 1) ))'::GEOMETRY); 
     30select '17',ST_asewkt('GEOMETRYCOLLECTION(POINT( 1 2 0),POINT( 1 2 3) )'::GEOMETRY); 
     31select '18',ST_asewkt('GEOMETRYCOLLECTION(LINESTRING( 0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),POINT( 1 2 3) )'::GEOMETRY); 
     32select '19',ST_asewkt('GEOMETRYCOLLECTION(POINT( 1 2 ),LINESTRING( 0 0, 1 1, 2 2, 3 3 , 4 4) )'::GEOMETRY); 
     33select '20',ST_asewkt('GEOMETRYCOLLECTION(POINT( 1 2 0 ),POINT( 1 2 3),LINESTRING( 1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15) )'::GEOMETRY); 
     34select '21',ST_asewkt('GEOMETRYCOLLECTION(POINT( 1 2 0 ),POINT( 1 2 3),LINESTRING( 1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15),POLYGON( (0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0) ) )'::GEOMETRY); 
     35select '22',ST_asewkt('GEOMETRYCOLLECTION(POINT( 1 2 0),POINT( 1 2 3),POLYGON( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1) ) )'::GEOMETRY); 
     36 
     37select '23',ST_asewkt('MULTIPOINT( 1 2)'::GEOMETRY) as geom; 
     38select '24',ST_asewkt('MULTIPOINT( 1 2 3)'::GEOMETRY) as geom; 
     39select '25',ST_asewkt('MULTIPOINT( 1 2, 3 4, 5 6)'::GEOMETRY) as geom; 
     40select '26',ST_asewkt('MULTIPOINT( 1 2 3, 5 6 7, 8 9 10, 11 12 13)'::GEOMETRY) as geom; 
     41select '27',ST_asewkt('MULTIPOINT( 1 2 0, 1 2 3, 4 5 0, 6 7 8)'::GEOMETRY) as geom; 
     42select '28',ST_asewkt('MULTIPOINT( 1 2 3,4 5 0)'::GEOMETRY) as geom; 
     43 
     44select '29',ST_asewkt('MULTILINESTRING( (0 0, 1 1, 2 2, 3 3 , 4 4) )'::GEOMETRY) as geom; 
     45select '30',ST_asewkt('MULTILINESTRING( (0 0, 1 1, 2 2, 3 3 , 4 4),(0 0, 1 1, 2 2, 3 3 , 4 4))'::GEOMETRY) as geom; 
     46select '31',ST_asewkt('MULTILINESTRING( (0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15) )'::GEOMETRY) as geom; 
     47select '32',ST_asewkt('MULTILINESTRING( (1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(0 0 0, 1 1 0, 2 2 0, 3 3 0 , 4 4 0))'::GEOMETRY) as geom; 
     48 
     49select '33',ST_asewkt('MULTIPOLYGON( ((0 0, 10 0, 10 10, 0 10, 0 0)) )'::GEOMETRY) as geom; 
     50select '34',ST_asewkt('MULTIPOLYGON( ((0 0, 10 0, 10 10, 0 10, 0 0)),( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5) ) )'::GEOMETRY) as geom; 
     51select '35',ST_asewkt('MULTIPOLYGON( ((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0)),( (0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0),(5 5 0, 7 5 0, 7 7 0, 5 7 0, 5 5 0) ) ,( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1) ) )'::GEOMETRY) as geom; 
     52 
     53 
     54select '36',ST_asewkt('GEOMETRYCOLLECTION(MULTIPOINT( 1 2))'::GEOMETRY); 
     55select '37',ST_asewkt('GEOMETRYCOLLECTION(MULTIPOINT( 1 2 3))'::GEOMETRY); 
     56select '38',ST_asewkt('GEOMETRYCOLLECTION(MULTIPOINT( 1 2 3, 5 6 7, 8 9 10, 11 12 13))'::GEOMETRY); 
     57select '39',ST_asewkt('GEOMETRYCOLLECTION(MULTILINESTRING( (0 0, 1 1, 2 2, 3 3 , 4 4) ))'::GEOMETRY); 
     58select '40',ST_asewkt('GEOMETRYCOLLECTION(MULTILINESTRING( (1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0)))'::GEOMETRY); 
     59select '41',ST_asewkt('GEOMETRYCOLLECTION(MULTIPOLYGON( ((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0)),( (0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0),(5 5 0, 7 5 0, 7 7 0, 5 7 0, 5 5 0) ) ,( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1) ) ))'::GEOMETRY); 
     60select '42',ST_asewkt('GEOMETRYCOLLECTION(POINT( 1 2 0),MULTIPOINT( 1 2 3))'::GEOMETRY); 
     61select '43',ST_asewkt('GEOMETRYCOLLECTION(MULTIPOINT( 1 2 0, 3 4 0, 5 6 0),POINT( 1 2 3))'::GEOMETRY); 
     62select '44',ST_asewkt('GEOMETRYCOLLECTION(POINT( 1 2 3),MULTILINESTRING( (0 0 0, 1 1 0, 2 2 0, 3 3 0 , 4 4 0) ))'::GEOMETRY); 
     63select '45',ST_asewkt('GEOMETRYCOLLECTION(MULTILINESTRING( (0 0 0, 1 1 0, 2 2 0, 3 3 0 , 4 4 0) ),POINT( 1 2 3))'::GEOMETRY); 
     64select '46',ST_asewkt('GEOMETRYCOLLECTION(POINT( 1 2 3), MULTIPOLYGON( ((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0)),( (0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0),(5 5 0, 7 5 0, 7 7 0, 5 7 0, 5 5 0) ) ,( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1) ) ))'::GEOMETRY); 
     65select '47',ST_asewkt('GEOMETRYCOLLECTION(MULTIPOLYGON( ((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0)),( (0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0),(5 5 0, 7 5 0, 7 7 0, 5 7 0, 5 5 0) ) ,( (0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1) ) ),MULTILINESTRING( (0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15) ),MULTIPOINT( 1 2 3, 5 6 7, 8 9 10, 11 12 13))'::GEOMETRY); 
     66 
     67select '48',ST_asewkt('MULTIPOINT( -1 -2 -3, 5.4 6.6 7.77, -5.4 -6.6 -7.77, 1e6 1e-6 -1e6, -1.3e-6 -1.4e-5 0)'::GEOMETRY) as geom; 
     68 
     69select '49', ST_asewkt('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1) ))'::GEOMETRY) as geom; 
    7070--- basic datatype (incorrect) 
    7171 
     
    7676select '54', 'POINT(a b)'::GEOMETRY as geom; 
    7777select '55', 'MULTIPOINT()'::GEOMETRY as geom; 
    78 select '56', asewkt('POLYGON( (0 0, 10 0, 10 10, 0 10) )'::GEOMETRY); 
    79 select '57', asewkt('POLYGON( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7) )'::GEOMETRY); 
    80 select '58', asewkt('MULTILINESTRING((0 0, 1 1),(0 0, 1 1, 2 2,) )'::GEOMETRY); 
     78select '56', ST_asewkt('POLYGON( (0 0, 10 0, 10 10, 0 10) )'::GEOMETRY); 
     79select '57', ST_asewkt('POLYGON( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7) )'::GEOMETRY); 
     80select '58', ST_asewkt('MULTILINESTRING((0 0, 1 1),(0 0, 1 1, 2 2,) )'::GEOMETRY); 
    8181 
    8282 
    8383--- funny results 
    8484 
    85 select '59',asewkt('POINT(1 2 3, 4 5 6)'::GEOMETRY); 
    86 select '60',asewkt('POINT(1 2 3 4 5 6 7)'::GEOMETRY); 
    87 select '61',asewkt('LINESTRING(1 1)'::GEOMETRY); 
    88 --select '62',replace(asewkt('POINT( 1e700 0)'::GEOMETRY), 'Infinity', 'inf'); 
    89 --select '63',replace(asewkt('POINT( -1e700 0)'::GEOMETRY), 'Infinity', 'inf'); 
    90 select '62',asewkt('POINT( 1e700 0)'::GEOMETRY); 
    91 select '63',asewkt('POINT( -1e700 0)'::GEOMETRY); 
    92 select '64',asewkt('MULTIPOINT(1 1, 2 2'::GEOMETRY); 
     85select '59',ST_asewkt('POINT(1 2 3, 4 5 6)'::GEOMETRY); 
     86select '60',ST_asewkt('POINT(1 2 3 4 5 6 7)'::GEOMETRY); 
     87select '61',ST_asewkt('LINESTRING(1 1)'::GEOMETRY); 
     88--select '62',replace(ST_asewkt('POINT( 1e700 0)'::GEOMETRY), 'Infinity', 'inf'); 
     89--select '63',replace(ST_asewkt('POINT( -1e700 0)'::GEOMETRY), 'Infinity', 'inf'); 
     90select '62',ST_asewkt('POINT( 1e700 0)'::GEOMETRY); 
     91select '63',ST_asewkt('POINT( -1e700 0)'::GEOMETRY); 
     92select '64',ST_asewkt('MULTIPOINT(1 1, 2 2'::GEOMETRY); 
    9393 
    9494 
     
    163163--- conversion function 
    164164 
    165 select '106',box3d('MULTIPOINT(0 0, 7 7)'::GEOMETRY) as bvol; 
     165select '106',ST_box3d('MULTIPOINT(0 0, 7 7)'::GEOMETRY) as bvol; 
     166select '106_',box3d('MULTIPOINT(0 0, 7 7)'::GEOMETRY) as bvol; 
    166167 
    167168-- box3d only type is only used for indexing -- NEVER use one yourself 
    168 select '107',asewkt(geometry('BOX3D(0 0 0, 7 7 7 )'::BOX3D)); 
     169select '107',ST_asewkt(ST_geometry('BOX3D(0 0 0, 7 7 7 )'::BOX3D)); 
    169170 
    170171--- debug function testing 
    171172 
    172 select '108',npoints('MULTIPOINT(0 0, 7 7)'::GEOMETRY) as value; 
    173 select '109',npoints('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING( 1 1 , 2 2, 3 3))'::GEOMETRY) as value; 
    174  
    175 select '110', nrings('MULTIPOLYGON( ((0 0, 10 0, 10 10, 0 10, 0 0)),( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5) ) ,( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7, 5 7, 5 5),(1 1,2 1, 2 2, 1 2, 1 1) ) )'::GEOMETRY) as value; 
    176  
    177 select '111', mem_size(dropBBOX('MULTIPOLYGON( ((0 0, 10 0, 10 10, 0 10, 0 0)),( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5) ) ,( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7, 5 7, 5 5),(1 1,2 1, 2 2, 1 2, 1 1) ) )'::GEOMETRY)) as value; 
    178  
    179  
    180 select '112',numgeometries('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING( 1 1 , 2 2, 3 3),MULTIPOINT(1 1, 2 2))'::GEOMETRY) as value; 
     173select '108',ST_npoints('MULTIPOINT(0 0, 7 7)'::GEOMETRY) as value; 
     174select '108_',npoints('MULTIPOINT(0 0, 7 7)'::GEOMETRY) as value; 
     175select '109',ST_npoints('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING( 1 1 , 2 2, 3 3))'::GEOMETRY) as value; 
     176select '109_',npoints('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING( 1 1 , 2 2, 3 3))'::GEOMETRY) as value; 
     177 
     178select '110', ST_nrings('MULTIPOLYGON( ((0 0, 10 0, 10 10, 0 10, 0 0)),( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5) ) ,( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7, 5 7, 5 5),(1 1,2 1, 2 2, 1 2, 1 1) ) )'::GEOMETRY) as value; 
     179select '110_', nrings('MULTIPOLYGON( ((0 0, 10 0, 10 10, 0 10, 0 0)),( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5) ) ,( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7, 5 7, 5 5),(1 1,2 1, 2 2, 1 2, 1 1) ) )'::GEOMETRY) as value; 
     180 
     181select '111', ST_mem_size(dropBBOX('MULTIPOLYGON( ((0 0, 10 0, 10 10, 0 10, 0 0)),( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5) ) ,( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7, 5 7, 5 5),(1 1,2 1, 2 2, 1 2, 1 1) ) )'::GEOMETRY)) as value; 
     182select '111_', mem_size(dropBBOX('MULTIPOLYGON( ((0 0, 10 0, 10 10, 0 10, 0 0)),( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5) ) ,( (0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7, 5 7, 5 5),(1 1,2 1, 2 2, 1 2, 1 1) ) )'::GEOMETRY)) as value; 
     183 
     184 
     185select '112',ST_numgeometries('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING( 1 1 , 2 2, 3 3),MULTIPOINT(1 1, 2 2))'::GEOMETRY) as value; 
     186select '112_',numgeometries('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING( 1 1 , 2 2, 3 3),MULTIPOINT(1 1, 2 2))'::GEOMETRY) as value; 
    181187 
    182188---selection 
     
    193199---test basic ops on this  
    194200 
    195 select '121',box3d(a) as box3d_a, box3d(b) as box3d_b from TEST; 
     201select '121',ST_box3d(a) as box3d_a, ST_box3d(b) as box3d_b from TEST; 
     202select '121_',box3d(a) as box3d_a, box3d(b) as box3d_b from TEST; 
    196203 
    197204select '122',a <<b from TEST; 
     
    204211select '128',a ~ b from TEST;  
    205212 
    206 select '129', mem_size(dropBBOX(a)), mem_size(dropBBOX(b)) from TEST; 
    207  
    208 select '131', X('POINT(1 2)'); 
    209 select '132', Y('POINT(1 2)'); 
    210 select '133', Z('POINT(1 2)'); 
    211 select '133a', Z('POINT(1 2 3)'); 
    212 select '133b', Z('POINTM(1 2 3)'); 
    213 select '133c', M('POINT(1 2)'); 
    214 select '133d', M('POINTM(1 2 4)'); 
    215 select '133e', M('POINT(1 2 4)'); 
    216  
    217 select '137', box3d('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY)'::geometry); 
    218 select '138', box3d('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY, POINT(0 0))'::geometry); 
    219  
    220 select '139', asewkt(multi(setsrid('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY, POINT(0 0))'::geometry, 2))); 
    221 select '140', asewkt(multi(setsrid('POINT(2 2)'::geometry, 3))); 
    222 select '141', asewkt(multi(setsrid('LINESTRING(2 2, 3 3)'::geometry, 4))); 
    223 select '142', asewkt(multi(setsrid('LINESTRING(2 2, 3 3)'::geometry, 5))); 
    224 select '143', asewkt(multi(setsrid('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'::geometry, 6))); 
    225  
    226 select '144', asewkt(force_3dm('POINT(1 2 3)')); 
    227 select '145', asewkt(force_3dz('POINTM(1 2 3)')); 
    228 select '146', asewkt(force_4d('POINTM(1 2 3)')); 
    229 select '147', asewkt(force_4d('POINT(1 2 3)')); 
    230  
    231 select '148', astext(segmentize('LINESTRING(0 0, 10 0)', 5)); 
    232  
    233  
    234 select '150', asewkt(force_collection(setsrid('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'::geometry, 6))); 
    235  
    236 select '151', geom_accum(NULL, NULL); 
     213select '129', ST_mem_size(dropBBOX(a)), ST_mem_size(dropBBOX(b)) from TEST; 
     214 
     215select '131', ST_X('POINT(1 2)'); 
     216select '131_', ST_X('POINT(1 2)'); 
     217select '132', ST_Y('POINT(1 2)'); 
     218select '132_', ST_Y('POINT(1 2)'); 
     219select '133', ST_Z('POINT(1 2)'); 
     220select '133_', ST_Z('POINT(1 2)'); 
     221select '133a', ST_Z('POINT(1 2 3)'); 
     222select '133a_', ST_Z('POINT(1 2 3)'); 
     223select '133b', ST_Z('POINTM(1 2 3)'); 
     224select '133b_', ST_Z('POINTM(1 2 3)'); 
     225select '133c', ST_M('POINT(1 2)'); 
     226select '133c_', ST_M('POINT(1 2)'); 
     227select '133d', ST_M('POINTM(1 2 4)'); 
     228select '133d_', ST_M('POINTM(1 2 4)'); 
     229select '133e', ST_M('POINT(1 2 4)'); 
     230select '133e_', ST_M('POINT(1 2 4)'); 
     231 
     232select '137', ST_box3d('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY)'::geometry); 
     233select '137_', box3d('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY)'::geometry); 
     234select '138', ST_box3d('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY, POINT(0 0))'::geometry); 
     235select '138_', box3d('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY, POINT(0 0))'::geometry); 
     236 
     237select '139', ST_asewkt(ST_multi(ST_setsrid('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY, POINT(0 0))'::geometry, 2))); 
     238select '139_', asewkt(multi(setsrid('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION EMPTY, POINT(0 0))'::geometry, 2))); 
     239select '140', ST_asewkt(ST_multi(ST_setsrid('POINT(2 2)'::geometry, 3))); 
     240select '140_', asewkt(multi(setsrid('POINT(2 2)'::geometry, 3))); 
     241select '141', ST_asewkt(ST_multi(ST_setsrid('LINESTRING(2 2, 3 3)'::geometry, 4))); 
     242select '141_', asewkt(multi(setsrid('LINESTRING(2 2, 3 3)'::geometry, 4))); 
     243select '142', ST_asewkt(ST_multi(ST_setsrid('LINESTRING(2 2, 3 3)'::geometry, 5))); 
     244select '142_', asewkt(multi(setsrid('LINESTRING(2 2, 3 3)'::geometry, 5))); 
     245select '143', ST_asewkt(ST_multi(ST_setsrid('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'::geometry, 6))); 
     246select '143_', asewkt(multi(setsrid('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'::geometry, 6))); 
     247 
     248select '144', ST_asewkt(ST_force_3dm('POINT(1 2 3)')); 
     249select '144_', asewkt(force_3dm('POINT(1 2 3)')); 
     250select '145', ST_asewkt(ST_force_3dz('POINTM(1 2 3)')); 
     251select '145_', asewkt(force_3dz('POINTM(1 2 3)')); 
     252select '146', ST_asewkt(ST_force_4d('POINTM(1 2 3)')); 
     253select '146_', asewkt(force_4d('POINTM(1 2 3)')); 
     254select '147', ST_asewkt(ST_force_4d('POINT(1 2 3)')); 
     255select '147_', asewkt(force_4d('POINT(1 2 3)')); 
     256 
     257select '148', ST_astext(ST_segmentize('LINESTRING(0 0, 10 0)', 5)); 
     258select '148_', astext(segmentize('LINESTRING(0 0, 10 0)', 5)); 
     259 
     260 
     261select '150', ST_asewkt(ST_force_collection(ST_setsrid('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'::geometry, 6))); 
     262select '150_', asewkt(force_collection(setsrid('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'::geometry, 6))); 
     263 
     264select '151', ST_geom_accum(NULL, NULL); 
     265select '151_', geom_accum(NULL, NULL); 
    237266 
    238267-- Drop test table 
  • trunk/regress/removepoint_expected

    r2173 r2616  
    1212LINESTRING(0 0 0 0,1 1 1 1,3 3 3 3,4 4 4 4,5 5 5 5,6 6 6 6,7 7 7 7) 
    1313LINESTRING(0 0 0 0,1 1 1 1,2 2 2 2,3 3 3 3,5 5 5 5,6 6 6 6,7 7 7 7) 
     14ERROR:  Can't remove points from a single segment line 
     15ERROR:  Point index out of range (0..2) 
     16ERROR:  Point index out of range (0..2) 
     17LINESTRING(1 1,2 2) 
     18LINESTRING(0 0,1 1) 
     19LINESTRING(1 1 1,2 2 2) 
     20LINESTRING(0 0 0,1 1 1) 
     21LINESTRINGM(1 1 1,2 2 2) 
     22LINESTRINGM(0 0 0,1 1 1) 
     23LINESTRING(1 1 1 1,2 2 2 2) 
     24LINESTRING(0 0 0 0,1 1 1 1) 
     25LINESTRING(0 0 0 0,1 1 1 1,3 3 3 3,4 4 4 4,5 5 5 5,6 6 6 6,7 7 7 7) 
     26LINESTRING(0 0 0 0,1 1 1 1,2 2 2 2,3 3 3 3,5 5 5 5,6 6 6 6,7 7 7 7) 
  • trunk/regress/removepoint.sql

    r2173 r2616  
    2222SELECT asewkt(removepoint('LINESTRING(0 0 0 0, 1 1 1 1, 2 2 2 2, 3 3 3 3, 4 4 4 4, 5 5 5 5, 6 6 6 6, 7 7 7 7)', 4)); 
    2323 
     24-- Repeat tests for new function names. 
     25--  Can't remove points from a 2-point linestring 
     26SELECT ST_removepoint('LINESTRING(0 0, 1 1)', 0); 
    2427 
     28--  Out of range indexes 
     29SELECT ST_removepoint('LINESTRING(0 0, 1 1, 2 2)', 3); 
     30SELECT ST_removepoint('LINESTRING(0 0, 1 1, 2 2)', -1); 
     31 
     32-- Removing first/last points 
     33SELECT ST_asewkt(ST_removepoint('LINESTRING(0 0, 1 1, 2 2)', 0)); 
     34SELECT ST_asewkt(ST_removepoint('LINESTRING(0 0, 1 1, 2 2)', 2)); 
     35 
     36-- Removing first/last points with higher dimension 
     37SELECT ST_asewkt(ST_removepoint('LINESTRING(0 0 0, 1 1 1, 2 2 2)', 0)); 
     38SELECT ST_asewkt(ST_removepoint('LINESTRING(0 0 0, 1 1 1, 2 2 2)', 2)); 
     39SELECT ST_asewkt(ST_removepoint('LINESTRINGM(0 0 0, 1 1 1, 2 2 2)', 0)); 
     40SELECT ST_asewkt(ST_removepoint('LINESTRINGM(0 0 0, 1 1 1, 2 2 2)', 2)); 
     41SELECT ST_asewkt(ST_removepoint('LINESTRING(0 0 0 0, 1 1 1 1, 2 2 2 2)', 0)); 
     42SELECT ST_asewkt(ST_removepoint('LINESTRING(0 0 0 0, 1 1 1 1, 2 2 2 2)', 2)); 
     43 
     44-- Removing intermediate points with higher dimension 
     45SELECT ST_asewkt(ST_removepoint('LINESTRING(0 0 0 0, 1 1 1 1, 2 2 2 2, 3 3 3 3, 4 4 4 4, 5 5 5 5, 6 6 6 6, 7 7 7 7)', 2)); 
     46SELECT ST_asewkt(ST_removepoint('LINESTRING(0 0 0 0, 1 1 1 1, 2 2 2 2, 3 3 3 3, 4 4 4 4, 5 5 5 5, 6 6 6 6, 7 7 7 7)', 4)); 
     47 
     48 
  • trunk/regress/setpoint_expected

    r2174 r2616  
    1111LINESTRING(0 0 0 0,90 91 0 92,2 2 2 2,4 4 4 4) 
    1212LINESTRING(90 91 92 93,1 1 1 1,2 2 2 2,4 4 4 4) 
     13ERROR:  Point index out of range (0..2) 
     14ERROR:  Point index out of range (0..2) 
     15ERROR:  First argument must be a LINESTRING 
     16ERROR:  Third argument must be a POINT 
     17LINESTRING(90 91 92,1 1 1,2 2 2) 
     18LINESTRINGM(0 0 0,90 91 92,2 2 2) 
     19LINESTRINGM(0 0 0,1 1 1,90 91 93) 
     20LINESTRING(0 0 0,90 91 92,2 2 2) 
     21LINESTRING(0 0 0 0,1 1 1 1,2 2 2 2,90 91 0 0) 
     22LINESTRING(0 0 0 0,1 1 1 1,90 91 92 0,4 4 4 4) 
     23LINESTRING(0 0 0 0,90 91 0 92,2 2 2 2,4 4 4 4) 
     24LINESTRING(90 91 92 93,1 1 1 1,2 2 2 2,4 4 4 4) 
  • trunk/regress/setpoint.sql

    r2174 r2616  
    2525SELECT asewkt(SetPoint('LINESTRING(0 0 0 0, 1 1 1 1, 2 2 2 2, 4 4 4 4)', 0, 'POINT(90 91 92 93)')); 
    2626 
     27-- Repeat all tests with new function names. 
     28--  Out of range indexes 
     29SELECT ST_SetPoint('LINESTRING(0 0, 1 1, 2 2)', 3, 'POINT(9 9)'); 
     30SELECT ST_SetPoint('LINESTRING(0 0, 1 1, 2 2)', -1, 'POINT(9 9)'); 
     31 
     32--  Invalid inputs 
     33SELECT ST_SetPoint('MULTIPOINT(0 0, 1 1, 2 2)', 3, 'POINT(9 9)'); 
     34SELECT ST_SetPoint('LINESTRING(0 0, 1 1, 2 2)', -1, 'MULTIPOINT(9 9, 0 0)'); 
     35 
     36-- Replacing 3dz line with 3dm point  
     37SELECT ST_asewkt(ST_SetPoint('LINESTRING(-1 -1 -1, 1 1 1, 2 2 2)', 0, 'POINT(90 91 92)')); 
     38 
     39-- Replacing 3dm line with 3dz point  
     40SELECT ST_asewkt(ST_SetPoint('LINESTRINGM(0 0 0, 1 1 1, 2 2 2)', 1, 'POINTM(90 91 92)')); 
     41 
     42-- Replacing 3dm line with 4d point  
     43SELECT ST_asewkt(ST_SetPoint('LINESTRINGM(0 0 0, 1 1 1, 2 2 2)', 2, 'POINT(90 91 92 93)')); 
     44 
     45-- Replacing 3dz line with 4d point  
     46SELECT ST_asewkt(ST_SetPoint('LINESTRING(0 0 0, 1 1 1, 2 2 2)', 1, 'POINT(90 91 92 93)')); 
     47 
     48-- Replacing 4d line with 2d/3dm/3dz/4d point  
     49SELECT ST_asewkt(ST_SetPoint('LINESTRING(0 0 0 0, 1 1 1 1, 2 2 2 2, 4 4 4 4)', 3, 'POINT(90 91)')); 
     50SELECT ST_asewkt(ST_SetPoint('LINESTRING(0 0 0 0, 1 1 1 1, 2 2 2 2, 4 4 4 4)', 2, 'POINT(90 91 92)')); 
     51SELECT ST_asewkt(ST_SetPoint('LINESTRING(0 0 0 0, 1 1 1 1, 2 2 2 2, 4 4 4 4)', 1, 'POINTM(90 91 92)')); 
     52SELECT ST_asewkt(ST_SetPoint('LINESTRING(0 0 0 0, 1 1 1 1, 2 2 2 2, 4 4 4 4)', 0, 'POINT(90 91 92 93)')); 
     53 
  • trunk/regress/simplify_expected

    r2270 r2616  
    777|POLYGON((0 0,0 51,50 20,7 32,0 0)) 
    888|POLYGON((0 0,0 51,50 20,30 20,7 32,0 0),(1 1,1 3,18 18,1 1)) 
     91|LINESTRING(0 0,0 51,50 20,30 20,7 32) 
     102|LINESTRING(0 0,0 51,50 20,30 20,7 32) 
     113|LINESTRING(0 0,0 51,50 20,30 20,7 32) 
     124|LINESTRING(0 0,0 51,50 20,30 20,7 32) 
     135|MULTIPOINT(0 0,0 10,0 51,50 20,30 20,7 32) 
     146|MULTILINESTRING((0 0,0 51,50 20,7 32),(0 0,20 20)) 
     157|POLYGON((0 0,0 51,50 20,7 32,0 0)) 
     168|POLYGON((0 0,0 51,50 20,30 20,7 32,0 0),(1 1,1 3,18 18,1 1)) 
  • trunk/regress/simplify.sql

    r2270 r2616  
    77SELECT '7', astext(simplify('POLYGON((0 0 3 2, 0 10 6 1, 0 51 1 6, 50 20 6 7, 30 20 9 9, 7 32 10 5, 0 0 3 2), (1 1 4 3, 1 3 2 3, 18 18 5 30, 1 1 4 3))', 20)); 
    88SELECT '8', astext(simplify('POLYGON((0 0 3 2, 0 10 6 1, 0 51 1 6, 50 20 6 7, 30 20 9 9, 7 32 10 5, 0 0 3 2), (1 1 4 3, 1 3 2 3, 18 18 5 30, 1 1 4 3))', 1)); 
     9 
     10-- Repeat all tests with the new function names. 
     11SELECT '1', ST_astext(ST_simplify('LINESTRING(0 0, 0 10, 0 51, 50 20, 30 20, 7 32)', 2)); 
     12SELECT '2', ST_astext(ST_simplify('LINESTRING(0 0 3, 0 10 6, 0 51 1, 50 20 6, 30 20 9, 7 32 10)', 2)); 
     13SELECT '3', ST_astext(ST_simplify('LINESTRINGM(0 0 3, 0 10 6, 0 51 1, 50 20 6, 30 20 9, 7 32 10)', 2)); 
     14SELECT '4', ST_astext(ST_simplify('LINESTRING(0 0 3 2, 0 10 6 1, 0 51 1 6, 50 20 6 7, 30 20 9 9, 7 32 10 5)', 2)); 
     15SELECT '5', ST_astext(ST_simplify('MULTIPOINT(0 0 3 2, 0 10 6 1, 0 51 1 6, 50 20 6 7, 30 20 9 9, 7 32 10 5)', 20)); 
     16SELECT '6', ST_astext(ST_simplify('MULTILINESTRING((0 0 3 2, 0 10 6 1, 0 51 1 6, 50 20 6 7, 30 20 9 9, 7 32 10 5), (0 0 4 3, 1 1 2 3, 20 20 5 30))', 20)); 
     17SELECT '7', ST_astext(ST_simplify('POLYGON((0 0 3 2, 0 10 6 1, 0 51 1 6, 50 20 6 7, 30 20 9 9, 7 32 10 5, 0 0 3 2), (1 1 4 3, 1 3 2 3, 18 18 5 30, 1 1 4 3))', 20)); 
     18SELECT '8', ST_astext(ST_simplify('POLYGON((0 0 3 2, 0 10 6 1, 0 51 1 6, 50 20 6 7, 30 20 9 9, 7 32 10 5, 0 0 3 2), (1 1 4 3, 1 3 2 3, 18 18 5 30, 1 1 4 3))', 1)); 
  • trunk/regress/snaptogrid_expected

    r2298 r2616  
    44t 
    55t 
     6t 
     7t 
     8t 
     9t 
     10t 
  • trunk/regress/snaptogrid.sql

    r2298 r2616  
    88SELECT snaptogrid(orig, 0.003) ~= snaptogrid(snaptogrid(orig, 0.003), 0.003) FROM tmp; 
    99SELECT snaptogrid(orig, 0.0002) ~= snaptogrid(snaptogrid(orig, 0.0002), 0.0002) FROM tmp; 
     10 
     11-- Repeat tests with new function names. 
     12SELECT ST_snaptogrid(orig, 0.001) ~= ST_snaptogrid(ST_snaptogrid(orig, 0.001), 0.001) FROM tmp; 
     13SELECT ST_snaptogrid(orig, 0.005) ~= ST_snaptogrid(ST_snaptogrid(orig, 0.005), 0.005) FROM tmp; 
     14SELECT ST_snaptogrid(orig, 0.002) ~= ST_snaptogrid(ST_snaptogrid(orig, 0.002), 0.002) FROM tmp; 
     15SELECT ST_snaptogrid(orig, 0.003) ~= ST_snaptogrid(ST_snaptogrid(orig, 0.003), 0.003) FROM tmp; 
     16SELECT ST_snaptogrid(orig, 0.0002) ~= ST_snaptogrid(ST_snaptogrid(orig, 0.0002), 0.0002) FROM tmp; 
    1017DROP TABLE tmp; 
  • trunk/regress/sql-mm-circularstring_expected

    r2609 r2616  
     1ndims01|4 
     2geometrytype01|CIRCULARSTRING 
     3ndims02|3 
     4geometrytype02|CIRCULARSTRING 
     5ndims03|3 
     6geometrytype03|CIRCULARSTRINGM 
     7ndims04|2 
     8geometrytype04|CIRCULARSTRING 
     9isClosed01|t 
     10ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     11ERROR:  isring() should only be called on a LINE 
     12isClosed02|t 
     13ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     14ERROR:  isring() should only be called on a LINE 
    115ndims01|4 
    216geometrytype01|CIRCULARSTRING 
     
    117131ST_LineToCurve04|CIRCULARSTRING(0 0 0 0,0.152240934977426 0.765366864730177 2.24999999999999 -1.5,0.585786437626905 1.4142135623731 1 2) 
    118132ST_LineToCurve04|CIRCULARSTRING(-5 0 0 4,-1.63471937809218e-14 5 0.999999999999998 3,5 0 2 2,9.99999999999998 -5 3 1,15 0 4 0) 
     133astext01|CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731) 
     134astext01|CIRCULARSTRING(-5 0,0 5,5 0,10 -5,15 0) 
     135astext02|CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731) 
     136astext02|CIRCULARSTRING(-5 0,0 5,5 0,10 -5,15 0) 
     137astext03|CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731) 
     138astext03|CIRCULARSTRING(-5 0,0 5,5 0,10 -5,15 0) 
     139astext04|CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731) 
     140astext04|CIRCULARSTRING(-5 0,0 5,5 0,10 -5,15 0) 
     141asewkt01|CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731) 
     142asewkt01|CIRCULARSTRING(-5 0,0 5,5 0,10 -5,15 0) 
     143asewkt02|CIRCULARSTRINGM(0 0 0,0.267949192431123 1 -2,0.585786437626905 1.4142135623731 2) 
     144asewkt02|CIRCULARSTRINGM(-5 0 4,0 5 3,5 0 2,10 -5 1,15 0 0) 
     145asewkt03|CIRCULARSTRING(0 0 0,0.267949192431123 1 3,0.585786437626905 1.4142135623731 1) 
     146asewkt03|CIRCULARSTRING(-5 0 0,0 5 1,5 0 2,10 -5 3,15 0 4) 
     147asewkt04|CIRCULARSTRING(0 0 0 0,0.267949192431123 1 3 -2,0.585786437626905 1.4142135623731 1 2) 
     148asewkt04|CIRCULARSTRING(-5 0 0 4,0 5 1 3,5 0 2 2,10 -5 3 1,15 0 4 0) 
     149asbinary01|0108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f 
     150asbinary01|01080000000500000000000000000014c000000000000000000000000000000000000000000000144000000000000014400000000000000000000000000000244000000000000014c00000000000002e400000000000000000 
     151asbinary02|0108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f 
     152asbinary02|01080000000500000000000000000014c000000000000000000000000000000000000000000000144000000000000014400000000000000000000000000000244000000000000014c00000000000002e400000000000000000 
     153asbinary03|0108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f 
     154asbinary03|01080000000500000000000000000014c000000000000000000000000000000000000000000000144000000000000014400000000000000000000000000000244000000000000014c00000000000002e400000000000000000 
     155asbinary04|0108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f 
     156asbinary04|01080000000500000000000000000014c000000000000000000000000000000000000000000000144000000000000014400000000000000000000000000000244000000000000014c00000000000002e400000000000000000 
     157asewkb01|0108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f 
     158asewkb01|01080000000500000000000000000014c000000000000000000000000000000000000000000000144000000000000014400000000000000000000000000000244000000000000014c00000000000002e400000000000000000 
     159asewkb02|01080000400300000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f00000000000000c067880133c3bee23fcd3b7f669ea0f63f0000000000000040 
     160asewkb02|01080000400500000000000000000014c000000000000000000000000000001040000000000000000000000000000014400000000000000840000000000000144000000000000000000000000000000040000000000000244000000000000014c0000000000000f03f0000000000002e4000000000000000000000000000000000 
     161asewkb03|01080000800300000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f000000000000084067880133c3bee23fcd3b7f669ea0f63f000000000000f03f 
     162asewkb03|01080000800500000000000000000014c00000000000000000000000000000000000000000000000000000000000001440000000000000f03f000000000000144000000000000000000000000000000040000000000000244000000000000014c000000000000008400000000000002e4000000000000000000000000000001040 
     163asewkb04|01080000c003000000000000000000000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f000000000000084000000000000000c067880133c3bee23fcd3b7f669ea0f63f000000000000f03f0000000000000040 
     164asewkb04|01080000c00500000000000000000014c000000000000000000000000000000000000000000000104000000000000000000000000000001440000000000000f03f00000000000008400000000000001440000000000000000000000000000000400000000000000040000000000000244000000000000014c00000000000000840000000000000f03f0000000000002e40000000000000000000000000000010400000000000000000 
     165ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     166ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     167ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     168ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     169dimension01|1 
     170dimension01|1 
     171dimension02|1 
     172dimension02|1 
     173dimension03|1 
     174dimension03|1 
     175dimension04|1 
     176dimension04|1 
     177SRID01|-1 
     178SRID01|-1 
     179SRID02|-1 
     180SRID02|-1 
     181SRID03|-1 
     182SRID03|-1 
     183SRID04|-1 
     184SRID04|-1 
     185ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     186ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     187ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     188ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     189envelope01|POLYGON((0 0,0 1.41421366,0.58578646 1.41421366,0.58578646 0,0 0)) 
     190envelope01|POLYGON((-5 0,-5 5,15 5,15 0,-5 0)) 
     191envelope02|POLYGON((0 0,0 1.41421366,0.58578646 1.41421366,0.58578646 0,0 0)) 
     192envelope02|POLYGON((-5 0,-5 5,15 5,15 0,-5 0)) 
     193envelope03|POLYGON((0 0,0 1.41421366,0.58578646 1.41421366,0.58578646 0,0 0)) 
     194envelope03|POLYGON((-5 0,-5 5,15 5,15 0,-5 0)) 
     195envelope04|POLYGON((0 0,0 1.41421366,0.58578646 1.41421366,0.58578646 0,0 0)) 
     196envelope04|POLYGON((-5 0,-5 5,15 5,15 0,-5 0)) 
    119197public.circularstring.the_geom_4d effectively removed. 
    120198public.circularstring.the_geom_3dz effectively removed. 
  • trunk/regress/sql-mm-circularstring.sql

    r2609 r2616  
    7171                0 -2)')); 
    7272SELECT 'isRing02', isRing(geomfromewkt('CIRCULARSTRING( 
     73                0 -2, 
     74                -2 0, 
     75                0 2, 
     76                -2 0, 
     77                2 -2, 
     78                -2 0, 
     79                -2 -2, 
     80                -2 0, 
     81                0 -2)')); 
     82 
     83-- Repeat tests with new function names. 
     84SELECT 'ndims01', ST_ndims(ST_geomfromewkt('CIRCULARSTRING( 
     85                0 0 0 0,  
     86                0.26794919243112270647255365849413 1 3 -2,  
     87                0.5857864376269049511983112757903 1.4142135623730950488016887242097 1 2)')); 
     88SELECT 'geometrytype01', geometrytype(ST_geomfromewkt('CIRCULARSTRING( 
     89                0 0 0 0,  
     90                0.26794919243112270647255365849413 1 3 -2,  
     91                0.5857864376269049511983112757903 1.4142135623730950488016887242097 1 2)')); 
     92SELECT 'ndims02', ST_ndims(ST_geomfromewkt('CIRCULARSTRING( 
     93                0 0 0,  
     94                0.26794919243112270647255365849413 1 3,  
     95                0.5857864376269049511981127579 1.4142135623730950488016887242097 1)')); 
     96SELECT 'geometrytype02', geometrytype(ST_geomfromewkt('CIRCULARSTRING( 
     97                0 0 0,  
     98                0.26794919243112270647255365849413 1 3,  
     99                0.5857864376269049511981127579 1.4142135623730950488016887242097 1)')); 
     100SELECT 'ndims03', ST_ndims(ST_geomfromewkt('CIRCULARSTRINGM( 
     101                0 0 0,  
     102                0.26794919243112270647255365849413 1 -2,  
     103                0.5857864376269049511981127579 1.4142135623730950488016887242097 2)')); 
     104SELECT 'geometrytype03', geometrytype(ST_geomfromewkt('CIRCULARSTRINGM( 
     105                0 0 0,  
     106                0.26794919243112270647255365849413 1 -2,  
     107                0.5857864376269049511981127579 1.4142135623730950488016887242097 2)')); 
     108SELECT 'ndims04', ST_ndims(ST_geomfromewkt('CIRCULARSTRING( 
     109                0 0,  
     110                0.26794919243112270647255365849413 1,  
     111                0.5857864376269049511981127579 1.4142135623730950488016887242097)')); 
     112SELECT 'geometrytype04', geometrytype(ST_geomfromewkt('CIRCULARSTRING( 
     113                0 0,  
     114                0.26794919243112270647255365849413 1,  
     115                0.5857864376269049511981127579 1.4142135623730950488016887242097)')); 
     116 
     117SELECT 'isClosed01', ST_isClosed(ST_geomfromewkt('CIRCULARSTRING( 
     118                0 -2, 
     119                -2 0, 
     120                0 2, 
     121                2 0, 
     122                0 -2)')); 
     123SELECT 'isSimple01', ST_isSimple(ST_geomfromewkt('CIRCULARSTRING( 
     124                0 -2, 
     125                -2 0, 
     126                0 2, 
     127                2 0, 
     128                0 -2)')); 
     129SELECT 'isRing01', ST_isRing(ST_geomfromewkt('CIRCULARSTRING( 
     130                0 -2, 
     131                -2 0, 
     132                0 2, 
     133                2 0, 
     134                0 -2)')); 
     135SELECT 'isClosed02', ST_isClosed(ST_geomfromewkt('CIRCULARSTRING( 
     136                0 -2, 
     137                -2 0, 
     138                0 2, 
     139                -2 0, 
     140                2 -2, 
     141                -2 0, 
     142                -2 -2, 
     143                -2 0, 
     144                0 -2)')); 
     145SELECT 'isSimple02', ST_isSimple(ST_geomfromewkt('CIRCULARSTRING( 
     146                0 -2, 
     147                -2 0, 
     148                0 2, 
     149                -2 0, 
     150                2 -2, 
     151                -2 0, 
     152                -2 -2, 
     153                -2 0, 
     154                0 -2)')); 
     155SELECT 'isRing02', ST_isRing(ST_geomfromewkt('CIRCULARSTRING( 
    73156                0 -2, 
    74157                -2 0, 
     
    233316SELECT 'ST_LineToCurve04', asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_4d))) FROM public.circularstring; 
    234317 
     318-- Repeat tests with new function names. 
     319SELECT 'astext01', ST_astext(the_geom_2d) FROM public.circularstring;         
     320SELECT 'astext02', ST_astext(the_geom_3dm) FROM public.circularstring;         
     321SELECT 'astext03', ST_astext(the_geom_3dz) FROM public.circularstring;         
     322SELECT 'astext04', ST_astext(the_geom_4d) FROM public.circularstring;         
     323 
     324SELECT 'asewkt01', ST_asewkt(the_geom_2d) FROM public.circularstring;         
     325SELECT 'asewkt02', ST_asewkt(the_geom_3dm) FROM public.circularstring;         
     326SELECT 'asewkt03', ST_asewkt(the_geom_3dz) FROM public.circularstring;         
     327SELECT 'asewkt04', ST_asewkt(the_geom_4d) FROM public.circularstring;         
     328 
     329SELECT 'asbinary01', encode(ST_asbinary(the_geom_2d), 'hex') FROM public.circularstring; 
     330SELECT 'asbinary02', encode(ST_asbinary(the_geom_3dm), 'hex') FROM public.circularstring; 
     331SELECT 'asbinary03', encode(ST_asbinary(the_geom_3dz), 'hex') FROM public.circularstring; 
     332SELECT 'asbinary04', encode(ST_asbinary(the_geom_4d), 'hex') FROM public.circularstring; 
     333 
     334SELECT 'asewkb01', encode(ST_asewkb(the_geom_2d), 'hex') FROM public.circularstring; 
     335SELECT 'asewkb02', encode(ST_asewkb(the_geom_3dm), 'hex') FROM public.circularstring; 
     336SELECT 'asewkb03', encode(ST_asewkb(the_geom_3dz), 'hex') FROM public.circularstring; 
     337SELECT 'asewkb04', encode(ST_asewkb(the_geom_4d), 'hex') FROM public.circularstring; 
     338 
     339--Removed due to discrepencies between hardware 
     340--SELECT 'box2d01', ST_box2d(the_geom_2d) FROM public.circularstring; 
     341--SELECT 'box2d02', ST_box2d(the_geom_3dm) FROM public.circularstring; 
     342--SELECT 'box2d03', ST_box2d(the_geom_3dz) FROM public.circularstring; 
     343--SELECT 'box2d04', ST_box2d(the_geom_4d) FROM public.circularstring; 
     344 
     345--SELECT 'box3d01', ST_box3d(the_geom_2d) FROM public.circularstring; 
     346--SELECT 'box3d02', ST_box3d(the_geom_3dm) FROM public.circularstring; 
     347--SELECT 'box3d03', ST_box3d(the_geom_3dz) FROM public.circularstring; 
     348--SELECT 'box3d04', ST_box3d(the_geom_4d) FROM public.circularstring; 
     349 
     350SELECT 'isValid01', ST_isValid(the_geom_2d) FROM public.circularstring; 
     351SELECT 'isValid02', ST_isValid(the_geom_3dm) FROM public.circularstring; 
     352SELECT 'isValid03', ST_isValid(the_geom_3dz) FROM public.circularstring; 
     353SELECT 'isValid04', ST_isValid(the_geom_4d) FROM public.circularstring; 
     354 
     355SELECT 'dimension01', ST_dimension(the_geom_2d) FROM public.circularstring; 
     356SELECT 'dimension02', ST_dimension(the_geom_3dm) FROM public.circularstring; 
     357SELECT 'dimension03', ST_dimension(the_geom_3dz) FROM public.circularstring; 
     358SELECT 'dimension04', ST_dimension(the_geom_4d) FROM public.circularstring; 
     359 
     360SELECT 'SRID01', ST_SRID(the_geom_2d) FROM public.circularstring; 
     361SELECT 'SRID02', ST_SRID(the_geom_3dm) FROM public.circularstring; 
     362SELECT 'SRID03', ST_SRID(the_geom_3dz) FROM public.circularstring; 
     363SELECT 'SRID04', ST_SRID(the_geom_4d) FROM public.circularstring; 
     364 
     365SELECT 'accessors01', ST_isEmpty(the_geom_2d), ST_isSimple(the_geom_2d), ST_isClosed(the_geom_2d), ST_isRing(the_geom_2d) FROM public.circularstring; 
     366SELECT 'accessors02', ST_isEmpty(the_geom_3dm), ST_isSimple(the_geom_3dm), ST_isClosed(the_geom_3dm), ST_isRing(the_geom_3dm) FROM public.circularstring; 
     367SELECT 'accessors03', ST_isEmpty(the_geom_3dz), ST_isSimple(the_geom_3dz), ST_isClosed(the_geom_3dz), ST_isRing(the_geom_3dz) FROM public.circularstring; 
     368SELECT 'accessors04', ST_isEmpty(the_geom_4d), ST_isSimple(the_geom_4d), ST_isClosed(the_geom_4d), ST_isRing(the_geom_4d) FROM public.circularstring; 
     369 
     370SELECT 'envelope01', ST_asText(ST_snapToGrid(envelope(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring; 
     371SELECT 'envelope02', ST_asText(ST_snapToGrid(envelope(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring; 
     372SELECT 'envelope03', ST_asText(ST_snapToGrid(envelope(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring; 
     373SELECT 'envelope04', ST_asText(ST_snapToGrid(envelope(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring; 
     374 
    235375SELECT DropGeometryColumn('public', 'circularstring', 'the_geom_4d'); 
    236376SELECT DropGeometryColumn('public', 'circularstring', 'the_geom_3dz'); 
  • trunk/regress/sql-mm-compoundcurve_expected

    r2609 r2616  
     1ndims01|4 
     2geometrytype01|COMPOUNDCURVE 
     3ndims02|3 
     4geometrytype02|COMPOUNDCURVE 
     5ndims03|3 
     6geometrytype03|COMPOUNDCURVEM 
     7ndims04|2 
     8geometrytype04|COMPOUNDCURVE 
    19ndims01|4 
    210geometrytype01|COMPOUNDCURVE 
     
    6775ST_LineToCurve|COMPOUNDCURVE(CIRCULARSTRING(0 0 0,0.152240934977426 0.765366864730177 2.24999999999999,0.585786437626905 1.4142135623731 1),(0.585786437626905 1.4142135623731 1,2 0 0,0 0 0)) 
    6876ST_LineToCurve|COMPOUNDCURVE(CIRCULARSTRING(0 0 0 0,0.152240934977426 0.765366864730177 2.24999999999999 -1.5,0.585786437626905 1.4142135623731 1 2),(0.585786437626905 1.4142135623731 1 2,2 0 0 0,0 0 0 0)) 
     77astext01|COMPOUNDCURVE(CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731),(0.585786437626905 1.4142135623731,2 0,0 0)) 
     78astext02|COMPOUNDCURVE(CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731),(0.585786437626905 1.4142135623731,2 0,0 0)) 
     79astext03|COMPOUNDCURVE(CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731),(0.585786437626905 1.4142135623731,2 0,0 0)) 
     80astext04|COMPOUNDCURVE(CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731),(0.585786437626905 1.4142135623731,2 0,0 0)) 
     81asewkt01|COMPOUNDCURVE(CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731),(0.585786437626905 1.4142135623731,2 0,0 0)) 
     82asewkt02|COMPOUNDCURVEM(CIRCULARSTRING(0 0 0,0.267949192431123 1 -2,0.585786437626905 1.4142135623731 2),(0.585786437626905 1.4142135623731 2,2 0 0,0 0 0)) 
     83asewkt03|COMPOUNDCURVE(CIRCULARSTRING(0 0 0,0.267949192431123 1 3,0.585786437626905 1.4142135623731 1),(0.585786437626905 1.4142135623731 1,2 0 0,0 0 0)) 
     84asewkt04|COMPOUNDCURVE(CIRCULARSTRING(0 0 0 0,0.267949192431123 1 3 -2,0.585786437626905 1.4142135623731 1 2),(0.585786437626905 1.4142135623731 1 2,2 0 0 0,0 0 0 0)) 
     85asbinary01|0109000000020000000108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f01020000000300000067880133c3bee23fcd3b7f669ea0f63f0000000000000040000000000000000000000000000000000000000000000000 
     86asbinary02|0109000000020000000108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f01020000000300000067880133c3bee23fcd3b7f669ea0f63f0000000000000040000000000000000000000000000000000000000000000000 
     87asbinary03|0109000000020000000108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f01020000000300000067880133c3bee23fcd3b7f669ea0f63f0000000000000040000000000000000000000000000000000000000000000000 
     88asbinary04|0109000000020000000108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f01020000000300000067880133c3bee23fcd3b7f669ea0f63f0000000000000040000000000000000000000000000000000000000000000000 
     89asewkb01|0109000000020000000108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f01020000000300000067880133c3bee23fcd3b7f669ea0f63f0000000000000040000000000000000000000000000000000000000000000000 
     90asewkb02|01090000400200000001080000400300000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f00000000000000c067880133c3bee23fcd3b7f669ea0f63f000000000000004001020000400300000067880133c3bee23fcd3b7f669ea0f63f0000000000000040000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000 
     91asewkb03|01090000800200000001080000800300000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f000000000000084067880133c3bee23fcd3b7f669ea0f63f000000000000f03f01020000800300000067880133c3bee23fcd3b7f669ea0f63f000000000000f03f000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000 
     92asewkb04|01090000c00200000001080000c003000000000000000000000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f000000000000084000000000000000c067880133c3bee23fcd3b7f669ea0f63f000000000000f03f000000000000004001020000c00300000067880133c3bee23fcd3b7f669ea0f63f000000000000f03f000000000000004000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 
     93ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     94ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     95ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     96ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     97dimension01|1 
     98dimension02|1 
     99dimension03|1 
     100dimension04|1 
     101SRID01|-1 
     102SRID02|-1 
     103SRID03|-1 
     104SRID04|-1 
     105ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     106ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     107ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     108ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     109envelope01|POLYGON((0 0,0 1.41421366,2 1.41421366,2 0,0 0)) 
     110envelope02|POLYGON((0 0,0 1.41421366,2 1.41421366,2 0,0 0)) 
     111envelope03|POLYGON((0 0,0 1.41421366,2 1.41421366,2 0,0 0)) 
     112envelope04|POLYGON((0 0,0 1.41421366,2 1.41421366,2 0,0 0)) 
    69113public.compoundcurve.the_geom_4d effectively removed. 
    70114public.compoundcurve.the_geom_3dz effectively removed. 
  • trunk/regress/sql-mm-compoundcurve.sql

    r2609 r2616  
    4949                0 0))')); 
    5050SELECT 'geometrytype04', geometrytype(geomfromewkt('COMPOUNDCURVE(CIRCULARSTRING( 
     51                0 0,  
     52                0.26794919243112270647255365849413 1,  
     53                0.5857864376269049511983112757903 1.4142135623730950488016887242097), 
     54                (0.5857864376269049511983112757903 1.4142135623730950488016887242097, 
     55                2 0, 
     56                0 0))')); 
     57 
     58-- Repeat tests with new function names. 
     59SELECT 'ndims01', ST_ndims(ST_geomfromewkt('COMPOUNDCURVE(CIRCULARSTRING( 
     60                0 0 0 0,  
     61                0.26794919243112270647255365849413 1 3 -2,  
     62                0.5857864376269049511983112757903 1.4142135623730950488016887242097 1 2), 
     63                (0.5857864376269049511983112757903 1.4142135623730950488016887242097 1 2, 
     64                2 0 0 0, 
     65                0 0 0 0))')); 
     66SELECT 'geometrytype01', geometrytype(ST_geomfromewkt('COMPOUNDCURVE(CIRCULARSTRING( 
     67                0 0 0 0,  
     68                0.26794919243112270647255365849413 1 3 -2,  
     69                0.5857864376269049511983112757903 1.4142135623730950488016887242097 1 2), 
     70                (0.5857864376269049511983112757903 1.4142135623730950488016887242097 1 2, 
     71                2 0 0 0, 
     72                0 0 0 0))')); 
     73SELECT 'ndims02', ST_ndims(ST_geomfromewkt('COMPOUNDCURVE(CIRCULARSTRING( 
     74                0 0 0,  
     75                0.26794919243112270647255365849413 1 3,  
     76                0.5857864376269049511983112757903 1.4142135623730950488016887242097 1), 
     77                (0.5857864376269049511983112757903 1.4142135623730950488016887242097 1, 
     78                2 0 0, 
     79                0 0 0))')); 
     80SELECT 'geometrytype02', geometrytype(ST_geomfromewkt('COMPOUNDCURVE(CIRCULARSTRING( 
     81                0 0 0,  
     82                0.26794919243112270647255365849413 1 3,  
     83                0.5857864376269049511983112757903 1.4142135623730950488016887242097 1), 
     84                (0.5857864376269049511983112757903 1.4142135623730950488016887242097 1, 
     85                2 0 0, 
     86                0 0 0))')); 
     87SELECT 'ndims03', ST_ndims(ST_geomfromewkt('COMPOUNDCURVEM(CIRCULARSTRING( 
     88                0 0 0,  
     89                0.26794919243112270647255365849413 1 -2,  
     90                0.5857864376269049511983112757903 1.4142135623730950488016887242097 2), 
     91                (0.5857864376269049511983112757903 1.4142135623730950488016887242097 2, 
     92                2 0 0, 
     93                0 0 0))')); 
     94SELECT 'geometrytype03', geometrytype(ST_geomfromewkt('COMPOUNDCURVEM(CIRCULARSTRING( 
     95                0 0 0,  
     96                0.26794919243112270647255365849413 1 -2,  
     97                0.5857864376269049511983112757903 1.4142135623730950488016887242097 2), 
     98                (0.5857864376269049511983112757903 1.4142135623730950488016887242097 2, 
     99                2 0 0, 
     100                0 0 0))')); 
     101SELECT 'ndims04', ST_ndims(ST_geomfromewkt('COMPOUNDCURVE(CIRCULARSTRING( 
     102                0 0,  
     103                0.26794919243112270647255365849413 1,  
     104                0.5857864376269049511983112757903 1.4142135623730950488016887242097), 
     105                (0.5857864376269049511983112757903 1.4142135623730950488016887242097, 
     106                2 0, 
     107                0 0))')); 
     108SELECT 'geometrytype04', geometrytype(ST_geomfromewkt('COMPOUNDCURVE(CIRCULARSTRING( 
    51109                0 0,  
    52110                0.26794919243112270647255365849413 1,  
     
    177235SELECT 'ST_LineToCurve', asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_4d))) FROM public.compoundcurve; 
    178236 
     237-- Repeat tests on new function names. 
     238SELECT 'astext01', ST_astext(the_geom_2d) FROM public.compoundcurve; 
     239SELECT 'astext02', ST_astext(the_geom_3dm) FROM public.compoundcurve; 
     240SELECT 'astext03', ST_astext(the_geom_3dz) FROM public.compoundcurve; 
     241SELECT 'astext04', ST_astext(the_geom_4d) FROM public.compoundcurve; 
     242 
     243SELECT 'asewkt01', ST_asewkt(the_geom_2d) FROM public.compoundcurve; 
     244SELECT 'asewkt02', ST_asewkt(the_geom_3dm) FROM public.compoundcurve; 
     245SELECT 'asewkt03', ST_asewkt(the_geom_3dz) FROM public.compoundcurve; 
     246SELECT 'asewkt04', ST_asewkt(the_geom_4d) FROM public.compoundcurve; 
     247 
     248SELECT 'asbinary01', encode(ST_asbinary(the_geom_2d), 'hex') FROM public.compoundcurve; 
     249SELECT 'asbinary02', encode(ST_asbinary(the_geom_3dm), 'hex') FROM public.compoundcurve; 
     250SELECT 'asbinary03', encode(ST_asbinary(the_geom_3dz), 'hex') FROM public.compoundcurve; 
     251SELECT 'asbinary04', encode(ST_asbinary(the_geom_4d), 'hex') FROM public.compoundcurve; 
     252 
     253SELECT 'asewkb01', encode(ST_asewkb(the_geom_2d), 'hex') FROM public.compoundcurve; 
     254SELECT 'asewkb02', encode(ST_asewkb(the_geom_3dm), 'hex') FROM public.compoundcurve; 
     255SELECT 'asewkb03', encode(ST_asewkb(the_geom_3dz), 'hex') FROM public.compoundcurve; 
     256SELECT 'asewkb04', encode(ST_asewkb(the_geom_4d), 'hex') FROM public.compoundcurve; 
     257 
     258-- Removed due to discrepencies between hardware 
     259--SELECT 'box2d01', ST_box2d(the_geom_2d) FROM public.compoundcurve; 
     260--SELECT 'box2d02', ST_box2d(the_geom_3dm) FROM public.compoundcurve; 
     261--SELECT 'box2d03', ST_box2d(the_geom_3dz) FROM public.compoundcurve; 
     262--SELECT 'box2d04', ST_box2d(the_geom_4d) FROM public.compoundcurve; 
     263 
     264--SELECT 'box3d01', ST_box3d(the_geom_2d) FROM public.compoundcurve; 
     265--SELECT 'box3d02', ST_box3d(the_geom_3dm) FROM public.compoundcurve; 
     266--SELECT 'box3d03', ST_box3d(the_geom_3dz) FROM public.compoundcurve; 
     267--SELECT 'box3d04', ST_box3d(the_geom_4d) FROM public.compoundcurve; 
     268 
     269SELECT 'isValid01', ST_isValid(the_geom_2d) FROM public.compoundcurve; 
     270SELECT 'isValid02', ST_isValid(the_geom_3dm) FROM public.compoundcurve; 
     271SELECT 'isValid03', ST_isValid(the_geom_3dz) FROM public.compoundcurve; 
     272SELECT 'isValid04', ST_isValid(the_geom_4d) FROM public.compoundcurve; 
     273 
     274SELECT 'dimension01', ST_dimension(the_geom_2d) FROM public.compoundcurve; 
     275SELECT 'dimension02', ST_dimension(the_geom_3dm) FROM public.compoundcurve; 
     276SELECT 'dimension03', ST_dimension(the_geom_3dz) FROM public.compoundcurve; 
     277SELECT 'dimension04', ST_dimension(the_geom_4d) FROM public.compoundcurve; 
     278 
     279SELECT 'SRID01', ST_SRID(the_geom_2d) FROM public.compoundcurve; 
     280SELECT 'SRID02', ST_SRID(the_geom_3dm) FROM public.compoundcurve; 
     281SELECT 'SRID03', ST_SRID(the_geom_3dz) FROM public.compoundcurve; 
     282SELECT 'SRID04', ST_SRID(the_geom_4d) FROM public.compoundcurve; 
     283 
     284SELECT 'accessor01', ST_isEmpty(the_geom_2d), ST_isSimple(the_geom_2d), ST_isClosed(the_geom_2d), ST_isRing(the_geom_2d) FROM public.compoundcurve; 
     285SELECT 'accessor02', ST_isEmpty(the_geom_3dm), ST_isSimple(the_geom_3dm), ST_isClosed(the_geom_3dm), ST_isRing(the_geom_3dm) FROM public.compoundcurve; 
     286SELECT 'accessor03', ST_isEmpty(the_geom_3dz), ST_isSimple(the_geom_3dz), ST_isClosed(the_geom_3dz), ST_isRing(the_geom_3dz) FROM public.compoundcurve; 
     287SELECT 'accessor04', ST_isEmpty(the_geom_4d), ST_isSimple(the_geom_4d), ST_isClosed(the_geom_4d), ST_isRing(the_geom_4d) FROM public.compoundcurve; 
     288 
     289SELECT 'envelope01', ST_asText(ST_snapToGrid(ST_envelope(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve; 
     290SELECT 'envelope02', ST_asText(ST_snapToGrid(ST_envelope(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve; 
     291SELECT 'envelope03', ST_asText(ST_snapToGrid(ST_envelope(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve; 
     292SELECT 'envelope04', ST_asText(ST_snapToGrid(ST_envelope(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve; 
     293 
    179294SELECT DropGeometryColumn('public', 'compoundcurve', 'the_geom_4d'); 
    180295SELECT DropGeometryColumn('public', 'compoundcurve', 'the_geom_3dz'); 
  • trunk/regress/sql-mm-curvepoly_expected

    r2609 r2616  
     1ndims01|4 
     2geometrytype01|CURVEPOLYGON 
     3ndims02|3 
     4geometrytype02|CURVEPOLYGON 
     5ndims03|3 
     6geometrytype03|CURVEPOLYGONM 
     7ndims04|2 
     8geometrytype04|CURVEPOLYGON 
    19ndims01|4 
    210geometrytype01|CURVEPOLYGON 
     
    8795ST_LineToCurve03|CURVEPOLYGON(CIRCULARSTRING(-2 0 0,-1 -1 0.999999999999998,0 0 2,0.999999999999997 -1 3,2 0 4,1.41421356237309 1.4142135623731 3,-2.09798541386808e-15 2 2,-1.4142135623731 1.41421356237309 0.999999999999999,-2 0 0),(-1 0 1,0 0.5 2,1 0 3,0 1 3,-1 0 1)) 
    8896ST_LineToCurve04|CURVEPOLYGON(CIRCULARSTRING(-2 0 0 0,-1 -1 0.999999999999998 2,0 0 2 4,0.999999999999997 -1 3 6,2 0 4 8,1.41421356237309 1.4142135623731 3 6,-2.09798541386808e-15 2 2 4,-1.4142135623731 1.41421356237309 0.999999999999999 2,-2 0 0 0),(-1 0 1 2,0 0.5 2 4,1 0 3 6,0 1 3 4,-1 0 1 2)) 
     97astext01|CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),(-1 0,0 0.5,1 0,0 1,-1 0)) 
     98astext02|CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),(-1 0,0 0.5,1 0,0 1,-1 0)) 
     99astext03|CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),(-1 0,0 0.5,1 0,0 1,-1 0)) 
     100astext04|CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),(-1 0,0 0.5,1 0,0 1,-1 0)) 
     101asewkt01|CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),(-1 0,0 0.5,1 0,0 1,-1 0)) 
     102asewkt02|CURVEPOLYGONM(CIRCULARSTRING(-2 0 0,-1 -1 2,0 0 4,1 -1 6,2 0 8,0 2 4,-2 0 0),(-1 0 2,0 0.5 4,1 0 6,0 1 4,-1 0 2)) 
     103asewkt03|CURVEPOLYGON(CIRCULARSTRING(-2 0 0,-1 -1 1,0 0 2,1 -1 3,2 0 4,0 2 2,-2 0 0),(-1 0 1,0 0.5 2,1 0 3,0 1 3,-1 0 1)) 
     104asewkt04|CURVEPOLYGON(CIRCULARSTRING(-2 0 0 0,-1 -1 1 2,0 0 2 4,1 -1 3 6,2 0 4 8,0 2 2 4,-2 0 0 0),(-1 0 1 2,0 0.5 2 4,1 0 3 6,0 1 3 4,-1 0 1 2)) 
     105asbinary01|010d0000000200000001080000000700000000000000000000c00000000000000000000000000000f0bf000000000000f0bf00000000000000000000000000000000000000000000f03f000000000000f0bf000000000000004000000000000000000000000000000000000000000000004000000000000000c00000000000000000010200000005000000000000000000f0bf00000000000000000000000000000000000000000000e03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f0bf0000000000000000 
     106asbinary02|010d0000000200000001080000000700000000000000000000c00000000000000000000000000000f0bf000000000000f0bf00000000000000000000000000000000000000000000f03f000000000000f0bf000000000000004000000000000000000000000000000000000000000000004000000000000000c00000000000000000010200000005000000000000000000f0bf00000000000000000000000000000000000000000000e03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f0bf0000000000000000 
     107asbinary03|010d0000000200000001080000000700000000000000000000c00000000000000000000000000000f0bf000000000000f0bf00000000000000000000000000000000000000000000f03f000000000000f0bf000000000000004000000000000000000000000000000000000000000000004000000000000000c00000000000000000010200000005000000000000000000f0bf00000000000000000000000000000000000000000000e03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f0bf0000000000000000 
     108asbinary04|010d0000000200000001080000000700000000000000000000c00000000000000000000000000000f0bf000000000000f0bf00000000000000000000000000000000000000000000f03f000000000000f0bf000000000000004000000000000000000000000000000000000000000000004000000000000000c00000000000000000010200000005000000000000000000f0bf00000000000000000000000000000000000000000000e03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f0bf0000000000000000 
     109asewkb01|010d0000000200000001080000000700000000000000000000c00000000000000000000000000000f0bf000000000000f0bf00000000000000000000000000000000000000000000f03f000000000000f0bf000000000000004000000000000000000000000000000000000000000000004000000000000000c00000000000000000010200000005000000000000000000f0bf00000000000000000000000000000000000000000000e03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f0bf0000000000000000 
     110asewkb02|010d0000400200000001080000400700000000000000000000c000000000000000000000000000000000000000000000f0bf000000000000f0bf0000000000000040000000000000000000000000000000000000000000001040000000000000f03f000000000000f0bf000000000000184000000000000000400000000000000000000000000000204000000000000000000000000000000040000000000000104000000000000000c000000000000000000000000000000000010200004005000000000000000000f0bf000000000000000000000000000000400000000000000000000000000000e03f0000000000001040000000000000f03f000000000000000000000000000018400000000000000000000000000000f03f0000000000001040000000000000f0bf00000000000000000000000000000040 
     111asewkb03|010d0000800200000001080000800700000000000000000000c000000000000000000000000000000000000000000000f0bf000000000000f0bf000000000000f03f000000000000000000000000000000000000000000000040000000000000f03f000000000000f0bf000000000000084000000000000000400000000000000000000000000000104000000000000000000000000000000040000000000000004000000000000000c000000000000000000000000000000000010200008005000000000000000000f0bf0000000000000000000000000000f03f0000000000000000000000000000e03f0000000000000040000000000000f03f000000000000000000000000000008400000000000000000000000000000f03f0000000000000840000000000000f0bf0000000000000000000000000000f03f 
     112asewkb04|010d0000c00200000001080000c00700000000000000000000c0000000000000000000000000000000000000000000000000000000000000f0bf000000000000f0bf000000000000f03f00000000000000400000000000000000000000000000000000000000000000400000000000001040000000000000f03f000000000000f0bf000000000000084000000000000018400000000000000040000000000000000000000000000010400000000000002040000000000000000000000000000000400000000000000040000000000000104000000000000000c000000000000000000000000000000000000000000000000001020000c005000000000000000000f0bf0000000000000000000000000000f03f00000000000000400000000000000000000000000000e03f00000000000000400000000000001040000000000000f03f0000000000000000000000000000084000000000000018400000000000000000000000000000f03f00000000000008400000000000001040000000000000f0bf0000000000000000000000000000f03f0000000000000040 
     113ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     114ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     115ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     116ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     117dimension01|2 
     118dimension02|2 
     119dimension03|2 
     120dimension04|2 
     121SRID01|-1 
     122SRID02|-1 
     123SRID03|-1 
     124SRID04|-1 
     125envelope01|POLYGON((-2 0,-2 2,2 2,2 0,-2 0)) 
     126envelope02|POLYGON((-2 0,-2 2,2 2,2 0,-2 0)) 
     127envelope03|POLYGON((-2 0,-2 2,2 2,2 0,-2 0)) 
     128envelope04|POLYGON((-2 0,-2 2,2 2,2 0,-2 0)) 
     129startPoint01|t 
     130startPoint02|t 
     131startPoint03|t 
     132startPoint04|t 
     133endPoint01|t 
     134endPoint02|t 
     135endPoint03|t 
     136endPoint04|t 
     137exteriorRing01|CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0) 
     138exteriorRing02|CIRCULARSTRINGM(-2 0 0,-1 -1 2,0 0 4,1 -1 6,2 0 8,0 2 4,-2 0 0) 
     139exteriorRing03|CIRCULARSTRING(-2 0 0,-1 -1 1,0 0 2,1 -1 3,2 0 4,0 2 2,-2 0 0) 
     140exteriorRing04|CIRCULARSTRING(-2 0 0 0,-1 -1 1 2,0 0 2 4,1 -1 3 6,2 0 4 8,0 2 2 4,-2 0 0 0) 
     141numInteriorRings01|1 
     142numInteriorRings02|1 
     143numInteriorRings03|1 
     144numInteriorRings04|1 
     145interiorRingN-101|LINESTRING(-1 0,0 0.5,1 0,0 1,-1 0) 
     146interiorRingN-102|LINESTRINGM(-1 0 2,0 0.5 4,1 0 6,0 1 4,-1 0 2) 
     147interiorRingN-103|LINESTRING(-1 0 1,0 0.5 2,1 0 3,0 1 3,-1 0 1) 
     148interiorRingN-104|LINESTRING(-1 0 1 2,0 0.5 2 4,1 0 3 6,0 1 3 4,-1 0 1 2) 
     149interiorRingN-201| 
     150interiorRingN-202| 
     151interiorRingN-203| 
     152interiorRingN-204| 
    89153public.curvepolygon.the_geom_2d effectively removed. 
    90154public.curvepolygon.the_geom_3dm effectively removed. 
  • trunk/regress/sql-mm-curvepoly.sql

    r2609 r2616  
    104104                -1 0))')); 
    105105 
     106-- Repeat tests with new function names. 
     107SELECT 'ndims01', ST_ndims(ST_geomfromewkt('CURVEPOLYGON(CIRCULARSTRING( 
     108                -2 0 0 0, 
     109                -1 -1 1 2, 
     110                0 0 2 4, 
     111                1 -1 3 6, 
     112                2 0 4 8, 
     113                0 2 2 4, 
     114                -2 0 0 0), 
     115                (-1 0 1 2, 
     116                0 0.5 2 4, 
     117                1 0 3 6, 
     118                0 1 3 4, 
     119                -1 0 1 2))')); 
     120SELECT 'geometrytype01', geometrytype(ST_geomfromewkt('CURVEPOLYGON(CIRCULARSTRING( 
     121                -2 0 0 0, 
     122                -1 -1 1 2, 
     123                0 0 2 4, 
     124                1 -1 3 6, 
     125                2 0 4 8, 
     126                0 2 2 4, 
     127                -2 0 0 0), 
     128                (-1 0 1 2, 
     129                0 0.5 2 4, 
     130                1 0 3 6, 
     131                0 1 3 4, 
     132                -1 0 1 2))')); 
     133SELECT 'ndims02', ST_ndims(ST_geomfromewkt('CURVEPOLYGON(CIRCULARSTRING( 
     134                -2 0 0, 
     135                -1 -1 1, 
     136                0 0 2, 
     137                1 -1 3, 
     138                2 0 4, 
     139                0 2 2, 
     140                -2 0 0), 
     141                (-1 0 1, 
     142                0 0.5 2, 
     143                1 0 3, 
     144                0 1 3, 
     145                -1 0 1))')); 
     146SELECT 'geometrytype02', geometrytype(ST_geomfromewkt('CURVEPOLYGON(CIRCULARSTRING( 
     147                -2 0 0, 
     148                -1 -1 1, 
     149                0 0 2, 
     150                1 -1 3, 
     151                2 0 4, 
     152                0 2 2, 
     153                -2 0 0), 
     154                (-1 0 1, 
     155                0 0.5 2, 
     156                1 0 3, 
     157                0 1 3, 
     158                -1 0 1))')); 
     159SELECT 'ndims03', ST_ndims(ST_geomfromewkt('CURVEPOLYGONM(CIRCULARSTRING( 
     160                -2 0 0, 
     161                -1 -1 2, 
     162                0 0 4, 
     163                1 -1 6, 
     164                2 0 8, 
     165                0 2 4, 
     166                -2 0 0), 
     167                (-1 0 2, 
     168                0 0.5 4, 
     169                1 0 6, 
     170                0 1 4, 
     171                -1 0 2))')); 
     172SELECT 'geometrytype03', geometrytype(ST_geomfromewkt('CURVEPOLYGONM(CIRCULARSTRING( 
     173                -2 0 0, 
     174                -1 -1 2, 
     175                0 0 4, 
     176                1 -1 6, 
     177                2 0 8, 
     178                0 2 4, 
     179                -2 0 0), 
     180                (-1 0 2, 
     181                0 0.5 4, 
     182                1 0 6, 
     183                0 1 4, 
     184                -1 0 2))')); 
     185SELECT 'ndims04', ST_ndims(ST_geomfromewkt('CURVEPOLYGON(CIRCULARSTRING( 
     186                -2 0, 
     187                -1 -1, 
     188                0 0, 
     189                1 -1, 
     190                2 0, 
     191                0 2, 
     192                -2 0), 
     193                (-1 0, 
     194                0 0.5, 
     195                1 0, 
     196                0 1, 
     197                -1 0))')); 
     198SELECT 'geometrytype04', geometrytype(ST_geomfromewkt('CURVEPOLYGON(CIRCULARSTRING( 
     199                -2 0, 
     200                -1 -1, 
     201                0 0, 
     202                1 -1, 
     203                2 0, 
     204                0 2, 
     205                -2 0), 
     206                (-1 0, 
     207                0 0.5, 
     208                1 0, 
     209                0 1, 
     210                -1 0))')); 
     211 
    106212CREATE TABLE public.curvepolygon (id INTEGER, description VARCHAR); 
    107213SELECT AddGeometryColumn('public', 'curvepolygon', 'the_geom_2d', -1, 'CURVEPOLYGON', 2); 
     
    273379SELECT 'ST_LineToCurve04', asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_4d))) FROM public.curvepolygon; 
    274380 
     381-- Repeat tests with new function names. 
     382SELECT 'astext01', ST_astext(the_geom_2d) FROM public.curvepolygon; 
     383SELECT 'astext02', ST_astext(the_geom_3dm) FROM public.curvepolygon; 
     384SELECT 'astext03', ST_astext(the_geom_3dz) FROM public.curvepolygon; 
     385SELECT 'astext04', ST_astext(the_geom_4d) FROM public.curvepolygon; 
     386 
     387SELECT 'asewkt01', ST_asewkt(the_geom_2d) FROM public.curvepolygon; 
     388SELECT 'asewkt02', ST_asewkt(the_geom_3dm) FROM public.curvepolygon; 
     389SELECT 'asewkt03', ST_asewkt(the_geom_3dz) FROM public.curvepolygon; 
     390SELECT 'asewkt04', ST_asewkt(the_geom_4d) FROM public.curvepolygon; 
     391 
     392SELECT 'asbinary01', encode(ST_asbinary(the_geom_2d), 'hex') FROM public.curvepolygon; 
     393SELECT 'asbinary02', encode(ST_asbinary(the_geom_3dm), 'hex') FROM public.curvepolygon; 
     394SELECT 'asbinary03', encode(ST_asbinary(the_geom_3dz), 'hex') FROM public.curvepolygon; 
     395SELECT 'asbinary04', encode(ST_asbinary(the_geom_4d), 'hex') FROM public.curvepolygon; 
     396 
     397SELECT 'asewkb01', encode(ST_asewkb(the_geom_2d), 'hex') FROM public.curvepolygon; 
     398SELECT 'asewkb02', encode(ST_asewkb(the_geom_3dm), 'hex') FROM public.curvepolygon; 
     399SELECT 'asewkb03', encode(ST_asewkb(the_geom_3dz), 'hex') FROM public.curvepolygon; 
     400SELECT 'asewkb04', encode(ST_asewkb(the_geom_4d), 'hex') FROM public.curvepolygon; 
     401 
     402-- Removed due to descrepencies between hardware 
     403--SELECT 'box2d01', ST_box2d(the_geom_2d) FROM public.curvepolygon; 
     404--SELECT 'box2d02', ST_box2d(the_geom_3dm) FROM public.curvepolygon; 
     405--SELECT 'box2d03', ST_box2d(the_geom_3dz) FROM public.curvepolygon; 
     406--SELECT 'box2d04', ST_box2d(the_geom_4d) FROM public.curvepolygon; 
     407 
     408--SELECT 'box3d01', ST_box3d(the_geom_2d) FROM public.curvepolygon; 
     409--SELECT 'box3d02', ST_box3d(the_geom_3dm) FROM public.curvepolygon; 
     410--SELECT 'box3d03', ST_box3d(the_geom_3dz) FROM public.curvepolygon; 
     411--SELECT 'box3d04', ST_box3d(the_geom_4d) FROM public.curvepolygon; 
     412 
     413SELECT 'isValid01', ST_isValid(the_geom_2d) FROM public.curvepolygon; 
     414SELECT 'isValid02', ST_isValid(the_geom_3dm) FROM public.curvepolygon; 
     415SELECT 'isValid03', ST_isValid(the_geom_3dz) FROM public.curvepolygon; 
     416SELECT 'isValid04', ST_isValid(the_geom_4d) FROM public.curvepolygon; 
     417 
     418SELECT 'dimension01', ST_dimension(the_geom_2d) FROM public.curvepolygon; 
     419SELECT 'dimension02', ST_dimension(the_geom_3dm) FROM public.curvepolygon; 
     420SELECT 'dimension03', ST_dimension(the_geom_3dz) FROM public.curvepolygon; 
     421SELECT 'dimension04', ST_dimension(the_geom_4d) FROM public.curvepolygon; 
     422 
     423SELECT 'SRID01', ST_SRID(the_geom_2d) FROM public.curvepolygon; 
     424SELECT 'SRID02', ST_SRID(the_geom_3dm) FROM public.curvepolygon; 
     425SELECT 'SRID03', ST_SRID(the_geom_3dz) FROM public.curvepolygon; 
     426SELECT 'SRID04', ST_SRID(the_geom_4d) FROM public.curvepolygon; 
     427 
     428SELECT 'envelope01', ST_asText(ST_snapToGrid(ST_envelope(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon; 
     429SELECT 'envelope02', ST_asText(ST_snapToGrid(ST_envelope(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon; 
     430SELECT 'envelope03', ST_asText(ST_snapToGrid(ST_envelope(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon; 
     431SELECT 'envelope04', ST_asText(ST_snapToGrid(ST_envelope(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon; 
     432 
     433SELECT 'startPoint01', (ST_startPoint(the_geom_2d) is null) FROM public.curvepolygon; 
     434SELECT 'startPoint02', (ST_startPoint(the_geom_3dm) is null) FROM public.curvepolygon; 
     435SELECT 'startPoint03', (ST_startPoint(the_geom_3dz) is null) FROM public.curvepolygon; 
     436SELECT 'startPoint04', (ST_startPoint(the_geom_4d) is null) FROM public.curvepolygon; 
     437 
     438SELECT 'endPoint01', (ST_endPoint(the_geom_2d) is null) FROM public.curvepolygon; 
     439SELECT 'endPoint02', (ST_endPoint(the_geom_3dm) is null) FROM public.curvepolygon; 
     440SELECT 'endPoint03', (ST_endPoint(the_geom_3dz) is null) FROM public.curvepolygon; 
     441SELECT 'endPoint04', (ST_endPoint(the_geom_4d) is null) FROM public.curvepolygon; 
     442 
     443SELECT 'exteriorRing01', ST_asEWKT(ST_exteriorRing(the_geom_2d)) FROM public.curvepolygon; 
     444SELECT 'exteriorRing02', ST_asEWKT(ST_exteriorRing(the_geom_3dm)) FROM public.curvepolygon; 
     445SELECT 'exteriorRing03', ST_asEWKT(ST_exteriorRing(the_geom_3dz)) FROM public.curvepolygon; 
     446SELECT 'exteriorRing04', ST_asEWKT(ST_exteriorRing(the_geom_4d)) FROM public.curvepolygon; 
     447 
     448SELECT 'numInteriorRings01', ST_numInteriorRings(the_geom_2d) FROM public.curvepolygon; 
     449SELECT 'numInteriorRings02', ST_numInteriorRings(the_geom_3dm) FROM public.curvepolygon; 
     450SELECT 'numInteriorRings03', ST_numInteriorRings(the_geom_3dz) FROM public.curvepolygon; 
     451SELECT 'numInteriorRings04', ST_numInteriorRings(the_geom_4d) FROM public.curvepolygon; 
     452 
     453SELECT 'interiorRingN-101', ST_asEWKT(ST_interiorRingN(the_geom_2d, 1)) FROM public.curvepolygon; 
     454SELECT 'interiorRingN-102', ST_asEWKT(ST_interiorRingN(the_geom_3dm, 1)) FROM public.curvepolygon; 
     455SELECT 'interiorRingN-103', ST_asEWKT(ST_interiorRingN(the_geom_3dz, 1)) FROM public.curvepolygon; 
     456SELECT 'interiorRingN-104', ST_asEWKT(ST_interiorRingN(the_geom_4d, 1)) FROM public.curvepolygon; 
     457 
     458SELECT 'interiorRingN-201', ST_asEWKT(ST_interiorRingN(the_geom_2d, 2)) FROM public.curvepolygon; 
     459SELECT 'interiorRingN-202', ST_asEWKT(ST_interiorRingN(the_geom_3dm, 2)) FROM public.curvepolygon; 
     460SELECT 'interiorRingN-203', ST_asEWKT(ST_interiorRingN(the_geom_3dz, 2)) FROM public.curvepolygon; 
     461SELECT 'interiorRingN-204', ST_asEWKT(ST_interiorRingN(the_geom_4d, 2)) FROM public.curvepolygon; 
     462 
    275463SELECT DropGeometryColumn('public', 'curvepolygon', 'the_geom_2d'); 
    276464SELECT DropGeometryColumn('public', 'curvepolygon', 'the_geom_3dm'); 
  • trunk/regress/sql-mm-multicurve_expected

    r2609 r2616  
     1ndims01|4 
     2geometrytype01|MULTICURVE 
     3ndims02|3 
     4geometrytype02|MULTICURVE 
     5ndims03|3 
     6geometrytype03|MULTICURVEM 
     7ndims04|2 
     8geometrytype04|MULTICURVE 
    19ndims01|4 
    210geometrytype01|MULTICURVE 
     
    6775ST_LineToCurve03|MULTICURVE((5 5 1,3 5 2,3 3 3,0 3 1),CIRCULARSTRING(0 0 0,0.152240934977426 0.765366864730177 2.24999999999999,0.585786437626905 1.4142135623731 1)) 
    6876ST_LineToCurve04|MULTICURVE((5 5 1 3,3 5 2 2,3 3 3 1,0 3 1 1),CIRCULARSTRING(0 0 0 0,0.152240934977426 0.765366864730177 2.24999999999999 -1.5,0.585786437626905 1.4142135623731 1 2)) 
     77astext01|MULTICURVE((5 5,3 5,3 3,0 3),CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731)) 
     78astext02|MULTICURVE((5 5,3 5,3 3,0 3),CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731)) 
     79astext03|MULTICURVE((5 5,3 5,3 3,0 3),CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731)) 
     80astext04|MULTICURVE((5 5,3 5,3 3,0 3),CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731)) 
     81asewkt01|MULTICURVE((5 5,3 5,3 3,0 3),CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731)) 
     82asewkt02|MULTICURVEM((5 5 3,3 5 2,3 3 1,0 3 1),CIRCULARSTRING(0 0 0,0.267949192431123 1 -2,0.585786437626905 1.4142135623731 2)) 
     83asewkt03|MULTICURVE((5 5 1,3 5 2,3 3 3,0 3 1),CIRCULARSTRING(0 0 0,0.267949192431123 1 3,0.585786437626905 1.4142135623731 1)) 
     84asewkt04|MULTICURVE((5 5 1 3,3 5 2 2,3 3 3 1,0 3 1 1),CIRCULARSTRING(0 0 0 0,0.267949192431123 1 3 -2,0.585786437626905 1.4142135623731 1 2)) 
     85asbinary01|010e00000002000000010200000004000000000000000000144000000000000014400000000000000840000000000000144000000000000008400000000000000840000000000000000000000000000008400108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f 
     86asbinary02|010e00000002000000010200000004000000000000000000144000000000000014400000000000000840000000000000144000000000000008400000000000000840000000000000000000000000000008400108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f 
     87asbinary03|010e00000002000000010200000004000000000000000000144000000000000014400000000000000840000000000000144000000000000008400000000000000840000000000000000000000000000008400108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f 
     88asbinary04|010e00000002000000010200000004000000000000000000144000000000000014400000000000000840000000000000144000000000000008400000000000000840000000000000000000000000000008400108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f 
     89asewkb01|010e00000002000000010200000004000000000000000000144000000000000014400000000000000840000000000000144000000000000008400000000000000840000000000000000000000000000008400108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f 
     90asewkb02|010e0000400200000001020000400400000000000000000014400000000000001440000000000000084000000000000008400000000000001440000000000000004000000000000008400000000000000840000000000000f03f00000000000000000000000000000840000000000000f03f01080000400300000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f00000000000000c067880133c3bee23fcd3b7f669ea0f63f0000000000000040 
     91asewkb03|010e0000800200000001020000800400000000000000000014400000000000001440000000000000f03f00000000000008400000000000001440000000000000004000000000000008400000000000000840000000000000084000000000000000000000000000000840000000000000f03f01080000800300000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f000000000000084067880133c3bee23fcd3b7f669ea0f63f000000000000f03f 
     92asewkb04|010e0000c00200000001020000c00400000000000000000014400000000000001440000000000000f03f00000000000008400000000000000840000000000000144000000000000000400000000000000040000000000000084000000000000008400000000000000840000000000000f03f00000000000000000000000000000840000000000000f03f000000000000f03f01080000c003000000000000000000000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f000000000000084000000000000000c067880133c3bee23fcd3b7f669ea0f63f000000000000f03f0000000000000040 
     93ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     94ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     95ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     96ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     97dimension01|1 
     98dimension02|1 
     99dimension03|1 
     100dimension04|1 
     101numGeometries01|2 
     102numGeometries02|2 
     103numGeometries03|2 
     104numGeometries04|2 
     105geometryN-201|CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731) 
     106geometryN-202|CIRCULARSTRINGM(0 0 0,0.267949192431123 1 -2,0.585786437626905 1.4142135623731 2) 
     107geometryN-203|CIRCULARSTRING(0 0 0,0.267949192431123 1 3,0.585786437626905 1.4142135623731 1) 
     108geometryN-204|CIRCULARSTRING(0 0 0 0,0.267949192431123 1 3 -2,0.585786437626905 1.4142135623731 1 2) 
     109geometryN-301|t 
     110geometryN-302|t 
     111geometryN-303|t 
     112geometryN-304|t 
    69113public.multicurve.the_geom_2d effectively removed. 
    70114public.multicurve.the_geom_3dm effectively removed. 
  • trunk/regress/sql-mm-multicurve.sql

    r2609 r2616  
    6363                0.5857864376269049511983112757903 1.4142135623730950488016887242097))')); 
    6464SELECT 'geometrytype04', geometrytype(geomfromewkt('MULTICURVE(( 
     65                5 5, 
     66                3 5, 
     67                3 3, 
     68                0 3) 
     69                ,CIRCULARSTRING( 
     70                0 0,  
     71                0.26794919243112270647255365849413 1,  
     72                0.5857864376269049511983112757903 1.4142135623730950488016887242097))')); 
     73 
     74-- Repeat the tests with the new function names. 
     75SELECT 'ndims01', ST_ndims(ST_geomfromewkt('MULTICURVE(( 
     76                5 5 1 3, 
     77                3 5 2 2, 
     78                3 3 3 1, 
     79                0 3 1 1) 
     80                ,CIRCULARSTRING( 
     81                0 0 0 0,  
     82                0.26794919243112270647255365849413 1 3 -2,  
     83                0.5857864376269049511983112757903 1.4142135623730950488016887242097 1 2))')); 
     84SELECT 'geometrytype01', geometrytype(ST_geomfromewkt('MULTICURVE(( 
     85                5 5 1 3, 
     86                3 5 2 2, 
     87                3 3 3 1, 
     88                0 3 1 1) 
     89                ,CIRCULARSTRING( 
     90                0 0 0 0,  
     91                0.26794919243112270647255365849413 1 3 -2,  
     92                0.5857864376269049511983112757903 1.4142135623730950488016887242097 1 2))')); 
     93SELECT 'ndims02', ST_ndims(ST_geomfromewkt('MULTICURVE(( 
     94                5 5 1, 
     95                3 5 2, 
     96                3 3 3, 
     97                0 3 1) 
     98                ,CIRCULARSTRING( 
     99                0 0 0,  
     100                0.26794919243112270647255365849413 1 3,  
     101                0.5857864376269049511983112757903 1.4142135623730950488016887242097 1))')); 
     102SELECT 'geometrytype02', geometrytype(ST_geomfromewkt('MULTICURVE(( 
     103                5 5 1, 
     104                3 5 2, 
     105                3 3 3, 
     106                0 3 1) 
     107                ,CIRCULARSTRING( 
     108                0 0 0,  
     109                0.26794919243112270647255365849413 1 3,  
     110                0.5857864376269049511983112757903 1.4142135623730950488016887242097 1))')); 
     111SELECT 'ndims03', ST_ndims(ST_geomfromewkt('MULTICURVEM(( 
     112                5 5 3, 
     113                3 5 2, 
     114                3 3 1, 
     115                0 3 1) 
     116                ,CIRCULARSTRING( 
     117                0 0 0,  
     118                0.26794919243112270647255365849413 1 -2,  
     119                0.5857864376269049511983112757903 1.4142135623730950488016887242097 2))')); 
     120SELECT 'geometrytype03', geometrytype(ST_geomfromewkt('MULTICURVEM(( 
     121                5 5 3, 
     122                3 5 2, 
     123                3 3 1, 
     124                0 3 1) 
     125                ,CIRCULARSTRING( 
     126                0 0 0,  
     127                0.26794919243112270647255365849413 1 -2,  
     128                0.5857864376269049511983112757903 1.4142135623730950488016887242097 2))')); 
     129SELECT 'ndims04', ST_ndims(ST_geomfromewkt('MULTICURVE(( 
     130                5 5, 
     131                3 5, 
     132                3 3, 
     133                0 3) 
     134                ,CIRCULARSTRING( 
     135                0 0,  
     136                0.26794919243112270647255365849413 1,  
     137                0.5857864376269049511983112757903 1.4142135623730950488016887242097))')); 
     138SELECT 'geometrytype04', geometrytype(ST_geomfromewkt('MULTICURVE(( 
    65139                5 5, 
    66140                3 5, 
     
    200274SELECT 'ST_LineToCurve04', asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_4d))) FROM public.multicurve; 
    201275 
     276-- Repeat all tests with the new function names. 
     277SELECT 'astext01', ST_astext(the_geom_2d) FROM public.multicurve; 
     278SELECT 'astext02', ST_astext(the_geom_3dm) FROM public.multicurve; 
     279SELECT 'astext03', ST_astext(the_geom_3dz) FROM public.multicurve; 
     280SELECT 'astext04', ST_astext(the_geom_4d) FROM public.multicurve; 
     281 
     282SELECT 'asewkt01', ST_asewkt(the_geom_2d) FROM public.multicurve; 
     283SELECT 'asewkt02', ST_asewkt(the_geom_3dm) FROM public.multicurve; 
     284SELECT 'asewkt03', ST_asewkt(the_geom_3dz) FROM public.multicurve; 
     285SELECT 'asewkt04', ST_asewkt(the_geom_4d) FROM public.multicurve; 
     286 
     287SELECT 'asbinary01', encode(ST_asbinary(the_geom_2d), 'hex') FROM public.multicurve; 
     288SELECT 'asbinary02', encode(ST_asbinary(the_geom_3dm), 'hex') FROM public.multicurve; 
     289SELECT 'asbinary03', encode(ST_asbinary(the_geom_3dz), 'hex') FROM public.multicurve; 
     290SELECT 'asbinary04', encode(ST_asbinary(the_geom_4d), 'hex') FROM public.multicurve; 
     291 
     292SELECT 'asewkb01', encode(ST_asewkb(the_geom_2d), 'hex') FROM public.multicurve; 
     293SELECT 'asewkb02', encode(ST_asewkb(the_geom_3dm), 'hex') FROM public.multicurve; 
     294SELECT 'asewkb03', encode(ST_asewkb(the_geom_3dz), 'hex') FROM public.multicurve; 
     295SELECT 'asewkb04', encode(ST_asewkb(the_geom_4d), 'hex') FROM public.multicurve; 
     296 
     297-- Removed due to descrepencies between hardware 
     298--SELECT 'box2d01', ST_box2d(the_geom_2d) FROM public.multicurve; 
     299--SELECT 'box2d02', ST_box2d(the_geom_3dm) FROM public.multicurve; 
     300--SELECT 'box2d03', ST_box2d(the_geom_3dz) FROM public.multicurve; 
     301--SELECT 'box2d04', ST_box2d(the_geom_4d) FROM public.multicurve; 
     302 
     303--SELECT 'box3d01', ST_box3d(the_geom_2d) FROM public.multicurve; 
     304--SELECT 'box3d02', ST_box3d(the_geom_3dm) FROM public.multicurve; 
     305--SELECT 'box3d03', ST_box3d(the_geom_3dz) FROM public.multicurve; 
     306--SELECT 'box3d04', ST_box3d(the_geom_4d) FROM public.multicurve; 
     307 
     308SELECT 'isValid01', ST_isValid(the_geom_2d) FROM public.multicurve; 
     309SELECT 'isValid02', ST_isValid(the_geom_3dm) FROM public.multicurve; 
     310SELECT 'isValid03', ST_isValid(the_geom_3dz) FROM public.multicurve; 
     311SELECT 'isValid04', ST_isValid(the_geom_4d) FROM public.multicurve; 
     312 
     313SELECT 'dimension01', ST_dimension(the_geom_2d) FROM public.multicurve; 
     314SELECT 'dimension02', ST_dimension(the_geom_3dm) FROM public.multicurve; 
     315SELECT 'dimension03', ST_dimension(the_geom_3dz) FROM public.multicurve; 
     316SELECT 'dimension04', ST_dimension(the_geom_4d) FROM public.multicurve; 
     317 
     318SELECT 'numGeometries01', ST_numGeometries(the_geom_2d) FROM public.multicurve; 
     319SELECT 'numGeometries02', ST_numGeometries(the_geom_3dm) FROM public.multicurve; 
     320SELECT 'numGeometries03', ST_numGeometries(the_geom_3dz) FROM public.multicurve; 
     321SELECT 'numGeometries04', ST_numGeometries(the_geom_4d) FROM public.multicurve; 
     322 
     323SELECT 'geometryN-201', ST_asEWKT(ST_geometryN(the_geom_2d, 2)) FROM public.multicurve; 
     324SELECT 'geometryN-202', ST_asEWKT(ST_geometryN(the_geom_3dm, 2)) FROM public.multicurve; 
     325SELECT 'geometryN-203', ST_asEWKT(ST_geometryN(the_geom_3dz, 2)) FROM public.multicurve; 
     326SELECT 'geometryN-204', ST_asEWKT(ST_geometryN(the_geom_4d, 2)) FROM public.multicurve; 
     327 
     328SELECT 'geometryN-301', (ST_asEWKT(ST_geometryN(the_geom_2d, 3)) is null) FROM public.multicurve; 
     329SELECT 'geometryN-302', (ST_asEWKT(ST_geometryN(the_geom_3dm, 3)) is null) FROM public.multicurve; 
     330SELECT 'geometryN-303', (ST_asEWKT(ST_geometryN(the_geom_3dz, 3)) is null) FROM public.multicurve; 
     331SELECT 'geometryN-304', (ST_asEWKT(ST_geometryN(the_geom_4d, 3)) is null) FROM public.multicurve; 
     332 
    202333SELECT DropGeometryColumn('public', 'multicurve', 'the_geom_2d'); 
    203334SELECT DropGeometryColumn('public', 'multicurve', 'the_geom_3dm'); 
  • trunk/regress/sql-mm-multisurface_expected

    r2609 r2616  
     1ndims01|4 
     2geometrytype01|MULTISURFACE 
     3ndims02|3 
     4geometrytype02|MULTISURFACE 
     5ndims03|3 
     6geometrytype03|MULTISURFACEM 
     7ndims04|2 
     8geometrytype04|MULTISURFACE 
    19ndims01|4 
    210geometrytype01|MULTISURFACE 
     
    7583ST_LineToCurve03|MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING(-2 0 0,-1 -1 0.999999999999998,0 0 2,0.999999999999997 -1 3,2 0 4,1.41421356237309 1.4142135623731 3,-2.09798541386808e-15 2 2,-1.4142135623731 1.41421356237309 0.999999999999999,-2 0 0),(-1 0 1,0 0.5 2,1 0 3,0 1 3,-1 0 1)),((7 8 7,10 10 5,6 14 3,4 11 4,7 8 7))) 
    7684ST_LineToCurve04|MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING(-2 0 0 0,-1 -1 0.999999999999998 2,0 0 2 4,0.999999999999997 -1 3 6,2 0 4 8,1.41421356237309 1.4142135623731 3 6,-2.09798541386808e-15 2 2 4,-1.4142135623731 1.41421356237309 0.999999999999999 2,-2 0 0 0),(-1 0 1 2,0 0.5 2 4,1 0 3 6,0 1 3 4,-1 0 1 2)),((7 8 7 8,10 10 5 5,6 14 3 1,4 11 4 6,7 8 7 8))) 
     85astext01|MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),(-1 0,0 0.5,1 0,0 1,-1 0)),((7 8,10 10,6 14,4 11,7 8))) 
     86astext02|MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),(-1 0,0 0.5,1 0,0 1,-1 0)),((7 8,10 10,6 14,4 11,7 8))) 
     87astext03|MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),(-1 0,0 0.5,1 0,0 1,-1 0)),((7 8,10 10,6 14,4 11,7 8))) 
     88astext04|MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),(-1 0,0 0.5,1 0,0 1,-1 0)),((7 8,10 10,6 14,4 11,7 8))) 
     89asewkt01|MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),(-1 0,0 0.5,1 0,0 1,-1 0)),((7 8,10 10,6 14,4 11,7 8))) 
     90asewkt02|MULTISURFACEM(CURVEPOLYGON(CIRCULARSTRING(-2 0 0,-1 -1 2,0 0 4,1 -1 6,2 0 8,0 2 4,-2 0 0),(-1 0 2,0 0.5 4,1 0 6,0 1 4,-1 0 2)),((7 8 8,10 10 5,6 14 1,4 11 6,7 8 8))) 
     91asewkt03|MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING(-2 0 0,-1 -1 1,0 0 2,1 -1 3,2 0 4,0 2 2,-2 0 0),(-1 0 1,0 0.5 2,1 0 3,0 1 3,-1 0 1)),((7 8 7,10 10 5,6 14 3,4 11 4,7 8 7))) 
     92asewkt04|MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING(-2 0 0 0,-1 -1 1 2,0 0 2 4,1 -1 3 6,2 0 4 8,0 2 2 4,-2 0 0 0),(-1 0 1 2,0 0.5 2 4,1 0 3 6,0 1 3 4,-1 0 1 2)),((7 8 7 8,10 10 5 5,6 14 3 1,4 11 4 6,7 8 7 8))) 
     93asbinary01|010f00000002000000010d0000000200000001080000000700000000000000000000c00000000000000000000000000000f0bf000000000000f0bf00000000000000000000000000000000000000000000f03f000000000000f0bf000000000000004000000000000000000000000000000000000000000000004000000000000000c00000000000000000010200000005000000000000000000f0bf00000000000000000000000000000000000000000000e03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f0bf0000000000000000010300000001000000050000000000000000001c4000000000000020400000000000002440000000000000244000000000000018400000000000002c40000000000000104000000000000026400000000000001c400000000000002040 
     94asbinary02|010f00000002000000010d0000000200000001080000000700000000000000000000c00000000000000000000000000000f0bf000000000000f0bf00000000000000000000000000000000000000000000f03f000000000000f0bf000000000000004000000000000000000000000000000000000000000000004000000000000000c00000000000000000010200000005000000000000000000f0bf00000000000000000000000000000000000000000000e03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f0bf0000000000000000010300000001000000050000000000000000001c4000000000000020400000000000002440000000000000244000000000000018400000000000002c40000000000000104000000000000026400000000000001c400000000000002040 
     95asbinary03|010f00000002000000010d0000000200000001080000000700000000000000000000c00000000000000000000000000000f0bf000000000000f0bf00000000000000000000000000000000000000000000f03f000000000000f0bf000000000000004000000000000000000000000000000000000000000000004000000000000000c00000000000000000010200000005000000000000000000f0bf00000000000000000000000000000000000000000000e03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f0bf0000000000000000010300000001000000050000000000000000001c4000000000000020400000000000002440000000000000244000000000000018400000000000002c40000000000000104000000000000026400000000000001c400000000000002040 
     96asbinary04|010f00000002000000010d0000000200000001080000000700000000000000000000c00000000000000000000000000000f0bf000000000000f0bf00000000000000000000000000000000000000000000f03f000000000000f0bf000000000000004000000000000000000000000000000000000000000000004000000000000000c00000000000000000010200000005000000000000000000f0bf00000000000000000000000000000000000000000000e03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f0bf0000000000000000010300000001000000050000000000000000001c4000000000000020400000000000002440000000000000244000000000000018400000000000002c40000000000000104000000000000026400000000000001c400000000000002040 
     97asewkb01|010f00000002000000010d0000000200000001080000000700000000000000000000c00000000000000000000000000000f0bf000000000000f0bf00000000000000000000000000000000000000000000f03f000000000000f0bf000000000000004000000000000000000000000000000000000000000000004000000000000000c00000000000000000010200000005000000000000000000f0bf00000000000000000000000000000000000000000000e03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f0bf0000000000000000010300000001000000050000000000000000001c4000000000000020400000000000002440000000000000244000000000000018400000000000002c40000000000000104000000000000026400000000000001c400000000000002040 
     98asewkb02|010f00004002000000010d0000400200000001080000400700000000000000000000c000000000000000000000000000000000000000000000f0bf000000000000f0bf0000000000000040000000000000000000000000000000000000000000001040000000000000f03f000000000000f0bf000000000000184000000000000000400000000000000000000000000000204000000000000000000000000000000040000000000000104000000000000000c000000000000000000000000000000000010200004005000000000000000000f0bf000000000000000000000000000000400000000000000000000000000000e03f0000000000001040000000000000f03f000000000000000000000000000018400000000000000000000000000000f03f0000000000001040000000000000f0bf00000000000000000000000000000040010300004001000000050000000000000000001c400000000000002040000000000000204000000000000024400000000000002440000000000000144000000000000018400000000000002c40000000000000f03f0000000000001040000000000000264000000000000018400000000000001c4000000000000020400000000000002040 
     99asewkb03|010f00008002000000010d0000800200000001080000800700000000000000000000c000000000000000000000000000000000000000000000f0bf000000000000f0bf000000000000f03f000000000000000000000000000000000000000000000040000000000000f03f000000000000f0bf000000000000084000000000000000400000000000000000000000000000104000000000000000000000000000000040000000000000004000000000000000c000000000000000000000000000000000010200008005000000000000000000f0bf0000000000000000000000000000f03f0000000000000000000000000000e03f0000000000000040000000000000f03f000000000000000000000000000008400000000000000000000000000000f03f0000000000000840000000000000f0bf0000000000000000000000000000f03f010300008001000000050000000000000000001c4000000000000020400000000000001c4000000000000024400000000000002440000000000000144000000000000018400000000000002c4000000000000008400000000000001040000000000000264000000000000010400000000000001c4000000000000020400000000000001c40 
     100asewkb04|010f0000c002000000010d0000c00200000001080000c00700000000000000000000c0000000000000000000000000000000000000000000000000000000000000f0bf000000000000f0bf000000000000f03f00000000000000400000000000000000000000000000000000000000000000400000000000001040000000000000f03f000000000000f0bf000000000000084000000000000018400000000000000040000000000000000000000000000010400000000000002040000000000000000000000000000000400000000000000040000000000000104000000000000000c000000000000000000000000000000000000000000000000001020000c005000000000000000000f0bf0000000000000000000000000000f03f00000000000000400000000000000000000000000000e03f00000000000000400000000000001040000000000000f03f0000000000000000000000000000084000000000000018400000000000000000000000000000f03f00000000000008400000000000001040000000000000f0bf0000000000000000000000000000f03f000000000000004001030000c001000000050000000000000000001c4000000000000020400000000000001c400000000000002040000000000000244000000000000024400000000000001440000000000000144000000000000018400000000000002c400000000000000840000000000000f03f00000000000010400000000000002640000000000000104000000000000018400000000000001c4000000000000020400000000000001c400000000000002040 
     101box2d01|BOX(-2 0,10 14) 
     102box2d02|BOX(-2 0,10 14) 
     103box2d03|BOX(-2 0,10 14) 
     104box2d04|BOX(-2 0,10 14) 
     105box3d01|BOX3D(-2 0 0,10 14 0) 
     106box3d02|BOX3D(-2 0 0,10 14 0) 
     107box3d03|BOX3D(-2 0 0,10 14 7) 
     108box3d04|BOX3D(-2 0 0,10 14 7) 
     109ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     110ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     111ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     112ERROR:  Exception in LWGEOM2GEOS: curved geometry not supported. 
     113dimension01|2 
     114dimension02|2 
     115dimension03|2 
     116dimension04|2 
     117numGeometries01|2 
     118numGeometries02|2 
     119numGeometries03|2 
     120numGeometries04|2 
     121geometryN-201|POLYGON((7 8,10 10,6 14,4 11,7 8)) 
     122geometryN-202|POLYGONM((7 8 8,10 10 5,6 14 1,4 11 6,7 8 8)) 
     123geometryN-203|POLYGON((7 8 7,10 10 5,6 14 3,4 11 4,7 8 7)) 
     124geometryN-204|POLYGON((7 8 7 8,10 10 5 5,6 14 3 1,4 11 4 6,7 8 7 8)) 
     125geometryN-301|t 
     126geometryN-302|t 
     127geometryN-303|t 
     128geometryN-304|t 
    77129public.multisurface.the_geom_2d effectively removed. 
    78130public.multisurface.the_geom_3dm effectively removed. 
  • trunk/regress/sql-mm-multisurface.sql

    r2609 r2616  
    160160                7 8)))')); 
    161161 
     162-- Repeat these tests with the new function names. 
     163SELECT 'ndims01', ST_ndims(ST_geomfromewkt('MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING( 
     164                -2 0 0 0, 
     165                -1 -1 1 2, 
     166                0 0 2 4, 
     167                1 -1 3 6, 
     168                2 0 4 8, 
     169                0 2 2 4, 
     170                -2 0 0 0), 
     171                (-1 0 1 2, 
     172                0 0.5 2 4, 
     173                1 0 3 6, 
     174                0 1 3 4, 
     175                -1 0 1 2)), 
     176                ((7 8 7 8, 
     177                10 10 5 5, 
     178                6 14 3 1, 
     179                4 11 4 6, 
     180                7 8 7 8)))')); 
     181SELECT 'geometrytype01', geometrytype(ST_geomfromewkt('MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING( 
     182                -2 0 0 0, 
     183                -1 -1 1 2, 
     184                0 0 2 4, 
     185                1 -1 3 6, 
     186                2 0 4 8, 
     187                0 2 2 4, 
     188                -2 0 0 0), 
     189                (-1 0 1 2, 
     190                0 0.5 2 4, 
     191                1 0 3 6, 
     192                0 1 3 4, 
     193                -1 0 1 2)), 
     194                ((7 8 7 8, 
     195                10 10 5 5, 
     196                6 14 3 1, 
     197                4 11 4 6, 
     198                7 8 7 8), 
     199                (9 9 7 8, 
     200                8 12 7 8, 
     201                7 10 7 8, 
     202                9 9 7 8)))')); 
     203SELECT 'ndims02', ST_ndims(ST_geomfromewkt('MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING( 
     204                -2 0 0, 
     205                -1 -1 1, 
     206                0 0 2, 
     207                1 -1 3, 
     208                2 0 4, 
     209                0 2 2, 
     210                -2 0 0), 
     211                (-1 0 1, 
     212                0 0.5 2, 
     213                1 0 3, 
     214                0 1 3, 
     215                -1 0 1)), 
     216                ((7 8 7, 
     217                10 10 5, 
     218                6 14 3, 
     219                4 11 4, 
     220                7 8 7), 
     221                (9 9 7, 
     222                8 12 7, 
     223                7 10 7, 
     224                9 9 7)))')); 
     225SELECT 'geometrytype02', geometrytype(ST_geomfromewkt('MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING( 
     226                -2 0 0, 
     227                -1 -1 1, 
     228                0 0 2, 
     229                1 -1 3, 
     230                2 0 4, 
     231                0 2 2, 
     232                -2 0 0), 
     233                (-1 0 1, 
     234                0 0.5 2, 
     235                1 0 3, 
     236                0 1 3, 
     237                -1 0 1)), 
     238                ((7 8 7, 
     239                10 10 5, 
     240                6 14 3, 
     241                4 11 4, 
     242                7 8 7), 
     243                (9 9 7, 
     244                8 12 7, 
     245                7 10 7, 
     246                9 9 7)))')); 
     247SELECT 'ndims03', ST_ndims(ST_geomfromewkt('MULTISURFACEM(CURVEPOLYGON(CIRCULARSTRING( 
     248                -2 0 0, 
     249                -1 -1 2, 
     250                0 0 4, 
     251                1 -1 6, 
     252                2 0 8, 
     253                0 2 4, 
     254                -2 0 0), 
     255                (-1 0 2, 
     256                0 0.5 4, 
     257                1 0 6, 
     258                0 1 4, 
     259                -1 0 2)), 
     260                ((7 8 8, 
     261                10 10 5, 
     262                6 14 1, 
     263                4 11 6, 
     264                7 8 8), 
     265                (9 9 8, 
     266                8 12 8, 
     267                7 10 8, 
     268                9 9 8)))')); 
     269SELECT 'geometrytype03', geometrytype(ST_geomfromewkt('MULTISURFACEM(CURVEPOLYGON(CIRCULARSTRING( 
     270                -2 0 0, 
     271                -1 -1 2, 
     272                0 0 4, 
     273                1 -1 6, 
     274                2 0 8, 
     275                0 2 4, 
     276                -2 0 0), 
     277                (-1 0 2, 
     278                0 0.5 4, 
     279                1 0 6, 
     280                0 1 4, 
     281                -1 0 2)), 
     282                ((7 8 8, 
     283                10 10 5, 
     284                6 14 1, 
     285                4 11 6, 
     286                7 8 8)))')); 
     287SELECT 'ndims04', ST_ndims(ST_geomfromewkt('MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING( 
     288                -2 0, 
     289                -1 -1, 
     290                0 0, 
     291                1 -1, 
     292                2 0, 
     293                0 2, 
     294                -2 0), 
     295                (-1 0, 
     296                0 0.5, 
     297                1 0, 
     298                0 1, 
     299                -1 0)), 
     300                ((7 8, 
     301                10 10, 
     302                6 14, 
     303                4 11, 
     304                7 8)))')); 
     305SELECT 'geometrytype04', geometrytype(ST_geomfromewkt('MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING( 
     306                -2 0, 
     307                -1 -1, 
     308                0 0, 
     309                1 -1, 
     310                2 0, 
     311                0 2, 
     312                -2 0), 
     313                (-1 0, 
     314                0 0.5, 
     315                1 0, 
     316                0 1, 
     317                -1 0)), 
     318                ((7 8, 
     319                10 10, 
     320                6 14, 
     321                4 11, 
     322                7 8)))')); 
     323 
    162324CREATE TABLE public.multisurface (id INTEGER, description VARCHAR); 
    163325SELECT AddGeometryColumn('public', 'multisurface', 'the_geom_2d', -1, 'MULTISURFACE', 2); 
     
    171333        1, 'multisurface'); 
    172334UPDATE public.multisurface 
    173         SET the_geom_4d = geomfromewkt('MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING( 
     335        SET the_geom_4d = ST_geomfromewkt('MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING( 
    174336                -2 0 0 0, 
    175337                -1 -1 1 2, 
     
    191353        WHERE id = 1; 
    192354UPDATE public.multisurface 
    193         SET the_geom_3dz = geomfromewkt('MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING( 
     355        SET the_geom_3dz = ST_geomfromewkt('MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING( 
    194356                -2 0 0, 
    195357                -1 -1 1, 
     
    211373        WHERE id = 1; 
    212374UPDATE public.multisurface         
    213         SET the_geom_3dm = geomfromewkt('MULTISURFACEM(CURVEPOLYGON(CIRCULARSTRING( 
     375        SET the_geom_3dm = ST_geomfromewkt('MULTISURFACEM(CURVEPOLYGON(CIRCULARSTRING( 
    214376                -2 0 0, 
    215377                -1 -1 2, 
     
    231393        WHERE id = 1; 
    232394UPDATE public.multisurface 
    233         SET the_geom_2d = geomfromewkt('MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING( 
     395        SET the_geom_2d = ST_geomfromewkt('MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING( 
    234396                -2 0, 
    235397                -1 -1, 
     
    326488SELECT 'ST_LineToCurve04', asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_4d))) FROM public.multisurface; 
    327489 
     490-- Repeat tests with new function names. 
     491SELECT 'astext01', ST_astext(the_geom_2d) FROM public.multisurface; 
     492SELECT 'astext02', ST_astext(the_geom_3dm) FROM public.multisurface; 
     493SELECT 'astext03', ST_astext(the_geom_3dz) FROM public.multisurface; 
     494SELECT 'astext04', ST_astext(the_geom_4d) FROM public.multisurface; 
     495 
     496SELECT 'asewkt01', ST_asewkt(the_geom_2d) FROM public.multisurface; 
     497SELECT 'asewkt02', ST_asewkt(the_geom_3dm) FROM public.multisurface; 
     498SELECT 'asewkt03', ST_asewkt(the_geom_3dz) FROM public.multisurface; 
     499SELECT 'asewkt04', ST_asewkt(the_geom_4d) FROM public.multisurface; 
     500 
     501SELECT 'asbinary01', encode(ST_asbinary(the_geom_2d), 'hex') FROM public.multisurface; 
     502SELECT 'asbinary02', encode(ST_asbinary(the_geom_3dm), 'hex') FROM public.multisurface; 
     503SELECT 'asbinary03', encode(ST_asbinary(the_geom_3dz), 'hex') FROM public.multisurface; 
     504SELECT 'asbinary04', encode(ST_asbinary(the_geom_4d), 'hex') FROM public.multisurface; 
     505 
     506SELECT 'asewkb01', encode(ST_asewkb(the_geom_2d), 'hex') FROM public.multisurface; 
     507SELECT 'asewkb02', encode(ST_asewkb(the_geom_3dm), 'hex') FROM public.multisurface; 
     508SELECT 'asewkb03', encode(ST_asewkb(the_geom_3dz), 'hex') FROM public.multisurface; 
     509SELECT 'asewkb04', encode(ST_asewkb(the_geom_4d), 'hex') FROM public.multisurface; 
     510 
     511SELECT 'box2d01', ST_box2d(the_geom_2d) FROM public.multisurface; 
     512SELECT 'box2d02', ST_box2d(the_geom_3dm) FROM public.multisurface; 
     513SELECT 'box2d03', ST_box2d(the_geom_3dz) FROM public.multisurface; 
     514SELECT 'box2d04', ST_box2d(the_geom_4d) FROM public.multisurface; 
     515 
     516SELECT 'box3d01', ST_box3d(the_geom_2d) FROM public.multisurface; 
     517SELECT 'box3d02', ST_box3d(the_geom_3dm) FROM public.multisurface; 
     518SELECT 'box3d03', ST_box3d(the_geom_3dz) FROM public.multisurface; 
     519SELECT 'box3d04', ST_box3d(the_geom_4d) FROM public.multisurface; 
     520 
     521SELECT 'isValid01', ST_isValid(the_geom_2d) FROM public.multisurface; 
     522SELECT 'isValid02', ST_isValid(the_geom_3dm) FROM public.multisurface; 
     523SELECT 'isValid03', ST_isValid(the_geom_3dz) FROM public.multisurface; 
     524SELECT 'isValid04', ST_isValid(the_geom_4d) FROM public.multisurface; 
     525 
     526SELECT 'dimension01', ST_dimension(the_geom_2d) FROM public.multisurface; 
     527SELECT 'dimension02', ST_dimension(the_geom_3dm) FROM public.multisurface; 
     528SELECT 'dimension03', ST_dimension(the_geom_3dz) FROM public.multisurface; 
     529SELECT 'dimension04', ST_dimension(the_geom_4d) FROM public.multisurface; 
     530 
     531SELECT 'numGeometries01', ST_numGeometries(the_geom_2d) FROM public.multisurface; 
     532SELECT 'numGeometries02', ST_numGeometries(the_geom_3dm) FROM public.multisurface; 
     533SELECT 'numGeometries03', ST_numGeometries(the_geom_3dz) FROM public.multisurface; 
     534SELECT 'numGeometries04', ST_numGeometries(the_geom_4d) FROM public.multisurface; 
     535 
     536SELECT 'geometryN-201', ST_asEWKT(ST_geometryN(the_geom_2d, 2)) FROM public.multisurface; 
     537SELECT 'geometryN-202', ST_asEWKT(ST_geometryN(the_geom_3dm, 2)) FROM public.multisurface; 
     538SELECT 'geometryN-203', ST_asEWKT(ST_geometryN(the_geom_3dz, 2)) FROM public.multisurface; 
     539SELECT 'geometryN-204', ST_asEWKT(ST_geometryN(the_geom_4d, 2)) FROM public.multisurface; 
     540 
     541SELECT 'geometryN-301', (ST_geometryN(the_geom_2d, 3) is null) FROM public.multisurface; 
     542SELECT 'geometryN-302', (ST_geometryN(the_geom_3dm, 3) is null) FROM public.multisurface; 
     543SELECT 'geometryN-303', (ST_geometryN(the_geom_3dz, 3) is null) FROM public.multisurface; 
     544SELECT 'geometryN-304', (ST_geometryN(the_geom_4d, 3) is null) FROM public.multisurface; 
     545 
    328546SELECT DropGeometryColumn('public', 'multisurface', 'the_geom_2d'); 
    329547SELECT DropGeometryColumn('public', 'multisurface', 'the_geom_3dm'); 
  • trunk/regress/sql-mm-serialize.sql

    r2532 r2616  
    159159 
    160160     
    161 SELECT id, CASE WHEN ewkt = asEWKT(serialized::geometry) THEN 'pass' ELSE 'fail' END AS result FROM serialize_test ORDER BY id; 
    162 SELECT id, CASE WHEN asEWKB(geomFromEWKT(ewkt)) = serialized THEN 'pass' ELSE 'fail' END AS result FROM serialize_test ORDER BY id; 
     161SELECT id, CASE WHEN ewkt = ST_asEWKT(serialized::geometry) THEN 'pass' ELSE 'fail' END AS result FROM serialize_test ORDER BY id; 
     162SELECT id, CASE WHEN ST_asEWKB(geomFromEWKT(ewkt)) = serialized THEN 'pass' ELSE 'fail' END AS result FROM serialize_test ORDER BY id; 
    163163 
    164164DROP TABLE serialize_test; 
  • trunk/regress/wkt.sql

    r2332 r2616  
    1 select astext('POINT EMPTY'); 
    2 select astext('POINT(EMPTY)'); 
    3 select astext('POINT(0 0)'); 
    4 select astext('POINT((0 0))'); 
     1select ST_astext('POINT EMPTY'); 
     2select ST_astext('POINT(EMPTY)'); 
     3select ST_astext('POINT(0 0)'); 
     4select ST_astext('POINT((0 0))'); 
    55 
    6 select astext('MULTIPOINT EMPTY'); 
    7 select astext('MULTIPOINT(EMPTY)'); 
     6select ST_astext('MULTIPOINT EMPTY'); 
     7select ST_astext('MULTIPOINT(EMPTY)'); 
    88-- This is supported for backward compatibility 
    9 select astext('MULTIPOINT(0 0, 2 0)'); 
    10 select astext('MULTIPOINT((0 0), (2 0))'); 
    11 select astext('MULTIPOINT((0 0), (2 0), EMPTY)'); 
     9select ST_astext('MULTIPOINT(0 0, 2 0)'); 
     10select ST_astext('MULTIPOINT((0 0), (2 0))'); 
     11select ST_astext('MULTIPOINT((0 0), (2 0), EMPTY)'); 
    1212 
    13 select astext('LINESTRING EMPTY'); 
    14 select astext('LINESTRING(EMPTY)'); 
    15 select astext('LINESTRING(0 0, 1 1)'); 
    16 select astext('LINESTRING((0 0, 1 1))'); 
    17 select astext('LINESTRING((0 0), (1 1))'); 
     13select ST_astext('LINESTRING EMPTY'); 
     14select ST_astext('LINESTRING(EMPTY)'); 
     15select ST_astext('LINESTRING(0 0, 1 1)'); 
     16select ST_astext('LINESTRING((0 0, 1 1))'); 
     17select ST_astext('LINESTRING((0 0), (1 1))'); 
    1818 
    19 select astext('MULTILINESTRING EMPTY'); 
    20 select astext('MULTILINESTRING(EMPTY)'); 
    21 select astext('MULTILINESTRING(0 0, 2 0)'); 
    22 select astext('MULTILINESTRING((0 0, 2 0))'); 
    23 select astext('MULTILINESTRING((0 0, 2 0), (1 1, 2 2))'); 
    24 select astext('MULTILINESTRING((0 0, 2 0), (1 1, 2 2), EMPTY)'); 
    25 select astext('MULTILINESTRING((0 0, 2 0), (1 1, 2 2), (EMPTY))'); 
     19select ST_astext('MULTILINESTRING EMPTY'); 
     20select ST_astext('MULTILINESTRING(EMPTY)'); 
     21select ST_astext('MULTILINESTRING(0 0, 2 0)'); 
     22select ST_astext('MULTILINESTRING((0 0, 2 0))'); 
     23select ST_astext('MULTILINESTRING((0 0, 2 0), (1 1, 2 2))'); 
     24select ST_astext('MULTILINESTRING((0 0, 2 0), (1 1, 2 2), EMPTY)'); 
     25select ST_astext('MULTILINESTRING((0 0, 2 0), (1 1, 2 2), (EMPTY))'); 
    2626 
    27 select astext('POLYGON EMPTY'); 
    28 select astext('POLYGON(EMPTY)'); 
    29 select astext('POLYGON((0 0,1 0,1 1,0 1,0 0))'); 
    30 select astext('POLYGON((0 0,10 0,10 10,0 10,0 0),(2 2,2 5,5 5,5 2,2 2))'); 
     27select ST_astext('POLYGON EMPTY'); 
     28select ST_astext('POLYGON(EMPTY)'); 
     29select ST_astext('POLYGON((0 0,1 0,1 1,0 1,0 0))'); 
     30select ST_astext('POLYGON((0 0,10 0,10 10,0 10,0 0),(2 2,2 5,5 5,5 2,2 2))'); 
    3131 
    32 select astext('MULTIPOLYGON EMPTY'); 
    33 select astext('MULTIPOLYGON(EMPTY)'); 
    34 select astext('MULTIPOLYGON((EMPTY))'); 
    35 select astext('MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0),(2 2,2 5,5 5,5 2,2 2)))'); 
     32select ST_astext('MULTIPOLYGON EMPTY'); 
     33select ST_astext('MULTIPOLYGON(EMPTY)'); 
     34select ST_astext('MULTIPOLYGON((EMPTY))'); 
     35select ST_astext('MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0),(2 2,2 5,5 5,5 2,2 2)))'); 
    3636 
    37 select astext('GEOMETRYCOLLECTION EMPTY'); 
     37select ST_astext('GEOMETRYCOLLECTION EMPTY'); 
    3838-- This is supported for backward compatibility 
    39 select astext('GEOMETRYCOLLECTION(EMPTY)'); 
    40 select astext('GEOMETRYCOLLECTION((EMPTY))'); 
     39select ST_astext('GEOMETRYCOLLECTION(EMPTY)'); 
     40select ST_astext('GEOMETRYCOLLECTION((EMPTY))');