Changeset: aee21ab0eee2 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=aee21ab0eee2 Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 Branch: geo Log Message:
updated MAL signatures for geom diffs (truncated from 1651 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -2735,9 +2735,145 @@ command batsql.round(v:bat[:oid,:bte],d: address bte_bat_round_wrap; comment round off the decimal v(d,s) to r digits behind the dot (if r < 0, before the dot) -command batgeom.point(x:bat[:oid,:dbl],y:bat[:oid,:dbl]):bat[:oid,:wkb] -address wkbcreatepoint_bat; -comment Construct a point-BAT from two geometry-BATs +function batgeom.AsEWKT(w:bat[:oid,:wkb]):bat[:oid,:str]; +function batgeom.AsText(w:bat[:oid,:wkb]):bat[:oid,:str]; + +command batgeom.Boundary(w:bat[:oid,:wkb]):bat[:oid,:wkb] +address wkbBoundary_bat; + +command batgeom.Contains(a:bat[:oid,:wkb],b:wkb):bat[:oid,:bit] +address wkbContains_bat_geom; +command batgeom.Contains(a:wkb,b:bat[:oid,:wkb]):bat[:oid,:bit] +address wkbContains_geom_bat; +command batgeom.Contains(a:bat[:oid,:wkb],b:bat[:oid,:wkb]):bat[:oid,:bit] +address wkbContains_bat; + +command batgeom.Distance(a:bat[:oid,:wkb],b:wkb):bat[:oid,:dbl] +address wkbDistance_bat_geom; +command batgeom.Distance(a:wkb,b:bat[:oid,:wkb]):bat[:oid,:dbl] +address wkbDistance_geom_bat; +command batgeom.Distance(a:bat[:oid,:wkb],b:bat[:oid,:wkb]):bat[:oid,:dbl] +address wkbDistance_bat; + +command batgeom.Dimension(w:bat[:oid,:wkb]):bat[:oid,:int] +address wkbDimension_bat; + +command batgeom.Filter(a:bat[:oid,:wkb],b:wkb):bat[:oid,:wkb] +address wkbFilter_bat_geom; +command batgeom.Filter(a:wkb,b:bat[:oid,:wkb]):bat[:oid,:wkb] +address wkbFilter_geom_bat; +comment Filters the points in the bats according to the MBR of the other bat. + +command batgeom.FromText(wkt:bat[:oid,:str],srid:int,type:int):bat[:oid,:wkb] +address wkbFromText_bat; + +command batgeom.GeometryN(w:bat[:oid,:wkb],n:int):bat[:oid,:wkb] +address wkbGeometryN_bat; +comment Returns the 1-based Nth geometry if the geometry is a GEOMETRYCOLLECTION, (MULTI)POINT, (MULTI)LINESTRING, MULTICURVE or (MULTI)POLYGON. Otherwise, return NULL + +command batgeom.GetCoordinate(w:bat[:oid,:wkb],idx:int):bat[:oid,:dbl] +address wkbGetCoordinate_bat; +comment Returns the coordinate at position idx of a point, or NULL if not available. idx=0 -> X, idx=1 -> Y, idx=2 -> Z. Input must be point + +function batgeom.GeometryType2(w:bat[:oid,:wkb]):bat[:oid,:str]; +function batgeom.GeometryType1(w:bat[:oid,:wkb]):bat[:oid,:str]; +command batgeom.GeometryType(w:bat[:oid,:wkb],flag:int):bat[:oid,:str] +address wkbGeometryType_bat; + +function batgeom.GeomCollFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.GeomFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.GeomCollFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; +function batgeom.GeomFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; + +command batgeom.IsValid(w:bat[:oid,:wkb]):bat[:oid,:bit] +address wkbIsValid_bat; +command batgeom.IsRing(w:bat[:oid,:wkb]):bat[:oid,:bit] +address wkbIsRing_bat; +command batgeom.IsSimple(w:bat[:oid,:wkb]):bat[:oid,:bit] +address wkbIsSimple_bat; +command batgeom.IsEmpty(w:bat[:oid,:wkb]):bat[:oid,:bit] +address wkbIsEmpty_bat; +command batgeom.IsClosed(w:bat[:oid,:wkb]):bat[:oid,:bit] +address wkbIsClosed_bat; + +function batgeom.LineFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.LineFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; +command batgeom.MakeLine(a:bat[:oid,:wkb],b:bat[:oid,:wkb]):bat[:oid,:wkb] +address wkbMakeLine_bat; +comment Gets two BATS of point or linestring geometries and returns a bat with linestring geometries + +command batgeom.MakeBox2D(p1:bat[:oid,:wkb],p2:bat[:oid,:wkb]):bat[:oid,:mbr] +address wkbBox2D_bat; +function batgeom.MakePoint(x:bat[:oid,:dbl],y:bat[:oid,:dbl],z:bat[:oid,:dbl],m:bat[:oid,:dbl]):bat[:oid,:wkb]; +function batgeom.MakePointM(x:bat[:oid,:dbl],y:bat[:oid,:dbl],m:bat[:oid,:dbl]):bat[:oid,:wkb]; +function batgeom.MakePoint(x:bat[:oid,:dbl],y:bat[:oid,:dbl],z:bat[:oid,:dbl]):bat[:oid,:wkb]; +function batgeom.MakePoint(x:bat[:oid,:dbl],y:bat[:oid,:dbl]):bat[:oid,:wkb]; +command batgeom.MakePointXYZM(x:bat[:oid,:dbl],y:bat[:oid,:dbl],z:bat[:oid,:dbl],m:bat[:oid,:dbl],zmFlag:int):bat[:oid,:wkb] +address wkbMakePoint_bat; +comment creates a point using the coordinates + +function batgeom.MPolyFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.MLineFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.MPointFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.MPolyFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; +function batgeom.MLineFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; +function batgeom.MPointFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; + +function batgeom.NRings(w:bat[:oid,:wkb]):bat[:oid,:int]; +function batgeom.NumInteriorRings(w:bat[:oid,:wkb]):bat[:oid,:int]; +command batgeom.NumRings(w:bat[:oid,:wkb],exterior:int):bat[:oid,:int] +address wkbNumRings_bat; +comment Returns the number of interior rings+exterior on the first polygon of the geometry + +command batgeom.NumGeometries(w:bat[:oid,:wkb]):bat[:oid,:int] +address wkbNumGeometries_bat; +comment Returns the number of geometries + +function batgeom.NPoints(w:bat[:oid,:wkb]):bat[:oid,:int]; +function batgeom.NumPoints(w:bat[:oid,:wkb]):bat[:oid,:int]; +command batgeom.PointsNum(w:bat[:oid,:wkb],check:int):bat[:oid,:int] +address wkbNumPoints_bat; +comment The number of points in the Geometry. If check=1, the geometry should be a linestring + +function batgeom.PolygonFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.PointFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.PolygonFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; +function batgeom.PointFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; +command batgeom.ToText(w:bat[:oid,:wkb],withSRID:int):bat[:oid,:str] +address wkbAsText_bat; + +command batgeom.Union(a:bat[:oid,:wkb],b:bat[:oid,:wkb]):bat[:oid,:wkb] +address wkbUnion_bat; +comment Gets two BATS of geometries and returns the pairwise unions + +function batgeom.XMaxFromMBR(b:bat[:oid,:mbr]):bat[:oid,:dbl]; +function batgeom.XMinFromMBR(b:bat[:oid,:mbr]):bat[:oid,:dbl]; +function batgeom.XMaxFromWKB(g:bat[:oid,:wkb]):bat[:oid,:dbl]; +function batgeom.XMinFromWKB(g:bat[:oid,:wkb]):bat[:oid,:dbl]; +function batgeom.X(w:bat[:oid,:wkb]):bat[:oid,:dbl]; +function batgeom.YMaxFromMBR(b:bat[:oid,:mbr]):bat[:oid,:dbl]; +function batgeom.YMinFromMBR(b:bat[:oid,:mbr]):bat[:oid,:dbl]; +function batgeom.YMaxFromWKB(g:bat[:oid,:wkb]):bat[:oid,:dbl]; +function batgeom.YMinFromWKB(g:bat[:oid,:wkb]):bat[:oid,:dbl]; +function batgeom.Y(w:bat[:oid,:wkb]):bat[:oid,:dbl]; +function batgeom.Z(w:bat[:oid,:wkb]):bat[:oid,:dbl]; +command batgeom.coordinateFromMBR(X_1:bat[:oid,:mbr],X_2:int):bat[:oid,:dbl] +address wkbCoordinateFromMBR_bat; +comment returns xmin (=1), ymin (=2), xmax (=3) or ymax(=4) of the provided mbr +command batgeom.coordinateFromWKB(X_1:bat[:oid,:wkb],X_2:int):bat[:oid,:dbl] +address wkbCoordinateFromWKB_bat; +comment returns xmin (=1), ymin (=2), xmax (=3) or ymax(=4) of the provided geometry + +command batgeom.mbr(X_1:bat[:oid,:wkb]):bat[:oid,:mbr] +address wkbMBR_bat; +comment Creates the mbr for the given wkb. + +command batgeom.setSRID(w:bat[:oid,:wkb],srid:int):bat[:oid,:wkb] +address wkbSetSRID_bat; +comment Sets the Reference System ID for this Geometry. + + + pattern batmal.multiplex(mod:str,fcn:str,a:any...):any... address MANIFOLDremapMultiplex; @@ -30830,6 +30966,10 @@ pattern batcalc.wrd(b:bat[:oid,:str]):ba address CMDconvertsignal_wrd; comment cast from str to wrd, signal error on overflow +command batcalc.wkb(geo:bat[:oid,:wkb],columnType:int,columnSRID:int):bat[:oid,:wkb] +address geom_2_geom_bat; +comment Called when inserting values to a table in order to check if the inserted geometries are of the same type and srid required by the column definition + pattern batcalc.wrd_noerror(b:bat[:oid,:oid],s:bat[:oid,:oid]):bat[:oid,:wrd] address CMDconvert_wrd; comment cast from oid to wrd with candidates list @@ -35062,8 +35202,6 @@ command calc.blob(s:str):blob address BLOBblob_fromstr; command calc.blob(b:blob):blob address BLOBblob_blob; -function calc.curve{unsafe}(wkt:str):wkb; -pattern calc.cmp(v1:dbl,v2:dbl):bte address CMDvarCMP; comment Return -1/0/1 if V1 </==/> V2 @@ -35729,8 +35867,6 @@ pattern calc.flt(v:void):flt address CMDvarCONVERT; comment Cast VALUE to flt -function calc.geomcollection{unsafe}(wkt:str):wkb; -function calc.geometry{unsafe}(wkt:str):wkb; pattern calc.hash(v:any):wrd address MKEYhash; pattern calc.hash(v:dbl):wrd @@ -36033,7 +36169,6 @@ command calc.lng(v:void,digits:int):lng address nil_2num_lng; comment cast to lng and check for overflow -function calc.linestring{unsafe}(wkt:str):wkb; command calc.length(s:str):int address CMDstrlength; comment Length of STRING @@ -36206,15 +36341,11 @@ command calc.month_interval(v:str,ek:int address month_interval_str; comment cast str to a month_interval and check for overflow -function calc.multipolygon{unsafe}(wkt:str):wkb; -function calc.multisurface{unsafe}(wkt:str):wkb; -function calc.multilinestring{unsafe}(wkt:str):wkb; -function calc.multicurve{unsafe}(wkt:str):wkb; -function calc.multipoint{unsafe}(wkt:str):wkb; command calc.mbr(v:mbr):mbr address mbrFromMBR; -command calc.mbr{unsafe}(v:str):mbr +command calc.mbr(v:str):mbr address mbrFromString; + pattern calc.max_no_nil(v1:any_1,v2:any_1):any_1 address CALCmax_no_nil; comment Return max of V1 and V2, ignoring nil values @@ -36715,8 +36846,6 @@ pattern calc.or(v1:bit,v2:bit):bit address CMDvarOR; comment Return V1 OR V2 -function calc.polygon{unsafe}(wkt:str):wkb; -function calc.point{unsafe}(wkt:str):wkb; command calc.ptr(v:ptr):ptr address CMDvarCONVERTptr; comment Cast VALUE to ptr @@ -36983,7 +37112,6 @@ command calc.second_interval(sc:int,v:bt address bte_dec2second_interval; comment cast bte decimal to a second_interval -function calc.surface{unsafe}(wkt:str):wkb; pattern calc.setoid(v:lng):void address CMDsetoid; pattern calc.setoid(v:oid):void @@ -37488,10 +37616,15 @@ command calc.wrd(v:void,digits:int):wrd address nil_2num_wrd; comment cast to wrd and check for overflow +function calc.wkb{unsafe}(wkt:str,srid:int,type:int):wkb; +command calc.wkb(geo:wkb,columnType:int,columnSRID:int):wkb +address geom_2_geom; +comment Called when inserting values to a table in order to check if the inserted geometries are of the same type and srid required by the column definition + command calc.wkb(v:wkb):wkb address wkbFromWKB; -command calc.wkb{unsafe}(v:str):wkb -address wkbFromString; +comment It is called when adding a new geometry column to an existing table + pattern calc.wrd(v:str):wrd address CMDvarCONVERT; comment Cast VALUE to wrd @@ -38058,147 +38191,451 @@ pattern generator.thetasubselect(b:bat[: address VLTgenerator_thetasubselect; pattern generator.thetasubselect(b:bat[:oid,:bte],low:bte,oper:str):bat[:oid,:oid] address VLTgenerator_thetasubselect; -command geom.Area(g:wkb):dbl + +command geom.Area(w:wkb):dbl address wkbArea; -comment Returns the area of the geometry. - -command geom.AsText(w:wkb):str -address wkbAsText; +comment Returns the area of the surface if it is a polygon or multi-polygon + +function geom.AsEWKT(w:wkb):str; +function geom.AsText(w:wkb):str; +command geom.AsBinary(w:wkb):str +address wkbAsBinary; +comment Returns the wkb representation into HEX format + command geom.Buffer(a:wkb,distance:dbl):wkb address wkbBuffer; comment Returns a geometry that represents all points whose distance from this geometry is less than or equal to distance. Calculations are in the Spatial Reference System of this Geometry. command geom.Boundary(w:wkb):wkb address wkbBoundary; -comment Returns the closure of the combinatorial boundary of this Geometry. - -command geom.ConvexHull(a:wkb):wkb -address wkbConvexHull; -comment Returns a geometry that represents the convex hull of this geometry. +comment Returns the closure of the combinatorial boundary of the Geometry. + +function geom.BdMPolyFromText{unsafe}(wkt:str,srid:int):wkb; +function geom.BdPolyFromText{unsafe}(wkt:str,srid:int):wkb; +command geom.CoveredBy(a:wkb,b:wkb):bit +address wkbCoveredBy; +comment Returns TRUE if no point of geometry A is outside geometry B + +command geom.Covers(a:wkb,b:wkb):bit +address wkbCovers; +comment Returns TRUE if no point of geometry B is outside geometry A + +command geom.Crosses(a:wkb,b:wkb):bit +address wkbCrosses; +comment Returns TRUE if the supplied geometries have some, but not all, interior points in common. command geom.Contains(a:wkb,b:wkb):bit address wkbContains; -comment Returns true if the Geometry a 'spatially contains' Geometry b - -command geom.Crosses(a:wkb,b:wkb):bit -address wkbCrosses; -comment Returns true if the Geometry a 'spatially crosses' Geometry b - -function geom.CurveFromText{unsafe}(wkt:str,srid:sht):wkb; -command geom.Difference(a:wkb,b:wkb):wkb -address wkbDifference; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list