use super::{B, E, O, arr, f, opt, p};
use super::{Bool, Box2D, Box3D, Bytes, Float64, FnDescriptor, Geography, Geometry, Int16, Int64, Json, Str};
pub(super) fn build() -> Vec<FnDescriptor> {
vec![
f(
"postgis",
"letters",
vec![p("letters", Str)],
opt(Geometry),
E("st_letters($1)"),
),
f(
"postgis",
"letters",
vec![p("letters", Str), p("font", Json)],
opt(Geometry),
E("st_letters($1, $2::json)"),
),
f(
"postgis",
"to_geometry",
vec![p("a0", Box2D)],
Geometry,
E("geometry($1)"),
),
f(
"postgis",
"to_geometry",
vec![p("a0", Box3D)],
Geometry,
E("geometry($1)"),
),
f(
"postgis",
"to_geometry",
vec![p("a0", Str)],
Geometry,
E("geometry($1)"),
),
f(
"postgis",
"to_geometry",
vec![p("a0", Bytes)],
Geometry,
E("geometry($1)"),
),
f(
"postgis",
"to_geometry",
vec![p("a0", Geography)],
Geometry,
E("geometry($1)"),
),
f("postgis", "x", vec![p("a0", Geometry)], Float64, B("st_x")),
f("postgis", "y", vec![p("a0", Geometry)], Float64, B("st_y")),
f("postgis", "z", vec![p("a0", Geometry)], Float64, B("st_z")),
f("postgis", "m", vec![p("a0", Geometry)], Float64, B("st_m")),
f(
"postgis",
"geometry_cmp",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Int64,
B("geometry_cmp"),
),
f(
"postgis",
"geometry_hash",
vec![p("a0", Geometry)],
Int64,
B("geometry_hash"),
),
f(
"postgis",
"shiftlongitude",
vec![p("a0", Geometry)],
Geometry,
B("st_shiftlongitude"),
),
f(
"postgis",
"wrapx",
vec![p("geom", Geometry), p("wrap", Float64), p("move", Float64)],
Geometry,
B("st_wrapx"),
),
f("postgis", "xmin", vec![p("a0", Box3D)], Float64, B("st_xmin")),
f("postgis", "ymin", vec![p("a0", Box3D)], Float64, B("st_ymin")),
f("postgis", "zmin", vec![p("a0", Box3D)], Float64, B("st_zmin")),
f("postgis", "xmax", vec![p("a0", Box3D)], Float64, B("st_xmax")),
f("postgis", "ymax", vec![p("a0", Box3D)], Float64, B("st_ymax")),
f("postgis", "zmax", vec![p("a0", Box3D)], Float64, B("st_zmax")),
f(
"postgis",
"expand",
vec![p("a0", Box2D), p("a1", Float64)],
Box2D,
B("st_expand"),
),
f(
"postgis",
"expand",
vec![p("box", Box2D), p("dx", Float64), p("dy", Float64)],
Box2D,
B("st_expand"),
),
f(
"postgis",
"expand",
vec![p("a0", Box3D), p("a1", Float64)],
Box3D,
B("st_expand"),
),
f(
"postgis",
"expand",
vec![p("box", Box3D), p("dx", Float64), p("dy", Float64)],
Box3D,
B("st_expand"),
),
f(
"postgis",
"expand",
vec![p("box", Box3D), p("dx", Float64), p("dy", Float64), p("dz", Float64)],
Box3D,
B("st_expand"),
),
f(
"postgis",
"expand",
vec![p("a0", Geometry), p("a1", Float64)],
Geometry,
B("st_expand"),
),
f(
"postgis",
"expand",
vec![p("geom", Geometry), p("dx", Float64), p("dy", Float64)],
Geometry,
B("st_expand"),
),
f(
"postgis",
"expand",
vec![
p("geom", Geometry),
p("dx", Float64),
p("dy", Float64),
p("dz", Float64),
],
Geometry,
B("st_expand"),
),
f(
"postgis",
"expand",
vec![
p("geom", Geometry),
p("dx", Float64),
p("dy", Float64),
p("dz", Float64),
p("dm", Float64),
],
Geometry,
B("st_expand"),
),
f(
"postgis",
"postgis_getbbox",
vec![p("a0", Geometry)],
Box2D,
B("postgis_getbbox"),
),
f(
"postgis",
"makebox2d",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Box2D,
B("st_makebox2d"),
),
f(
"postgis",
"postgis_addbbox",
vec![p("a0", Geometry)],
Geometry,
B("postgis_addbbox"),
),
f(
"postgis",
"postgis_dropbbox",
vec![p("a0", Geometry)],
Geometry,
B("postgis_dropbbox"),
),
f(
"postgis",
"postgis_hasbbox",
vec![p("a0", Geometry)],
Bool,
B("postgis_hasbbox"),
),
f(
"postgis",
"quantizecoordinates",
vec![p("g", Geometry), p("prec_x", Int64)],
opt(Geometry),
E("st_quantizecoordinates($1, $2::int4)"),
),
f(
"postgis",
"quantizecoordinates",
vec![p("g", Geometry), p("prec_x", Int64), p("prec_y", Int64)],
opt(Geometry),
E("st_quantizecoordinates($1, $2::int4, $3::int4)"),
),
f(
"postgis",
"quantizecoordinates",
vec![
p("g", Geometry),
p("prec_x", Int64),
p("prec_y", Int64),
p("prec_z", Int64),
],
opt(Geometry),
E("st_quantizecoordinates($1, $2::int4, $3::int4, $4::int4)"),
),
f(
"postgis",
"quantizecoordinates",
vec![
p("g", Geometry),
p("prec_x", Int64),
p("prec_y", Int64),
p("prec_z", Int64),
p("prec_m", Int64),
],
opt(Geometry),
E("st_quantizecoordinates($1, $2::int4, $3::int4, $4::int4, $5::int4)"),
),
f("postgis", "memsize", vec![p("a0", Geometry)], Int64, B("st_memsize")),
f("postgis", "summary", vec![p("a0", Geometry)], Str, B("st_summary")),
f("postgis", "summary", vec![p("a0", Geography)], Str, B("st_summary")),
f("postgis", "npoints", vec![p("a0", Geometry)], Int64, B("st_npoints")),
f("postgis", "nrings", vec![p("a0", Geometry)], Int64, B("st_nrings")),
f(
"postgis",
"length3d",
vec![p("a0", Geometry)],
Float64,
B("st_3dlength"),
),
f(
"postgis",
"length2d",
vec![p("a0", Geometry)],
Float64,
B("st_length2d"),
),
f("postgis", "length", vec![p("a0", Geometry)], Float64, B("st_length")),
f("postgis", "length", vec![p("geog", Geography)], Float64, B("st_length")),
f(
"postgis",
"length",
vec![p("geog", Geography), p("use_spheroid", Bool)],
Float64,
B("st_length"),
),
f("postgis", "length", vec![p("a0", Str)], Float64, B("st_length")),
f(
"postgis",
"perimeter3d",
vec![p("a0", Geometry)],
Float64,
B("st_3dperimeter"),
),
f(
"postgis",
"perimeter2d",
vec![p("a0", Geometry)],
Float64,
B("st_perimeter2d"),
),
f(
"postgis",
"perimeter",
vec![p("a0", Geometry)],
Float64,
B("st_perimeter"),
),
f(
"postgis",
"perimeter",
vec![p("geog", Geography)],
Float64,
B("st_perimeter"),
),
f(
"postgis",
"perimeter",
vec![p("geog", Geography), p("use_spheroid", Bool)],
Float64,
B("st_perimeter"),
),
f("postgis", "area2d", vec![p("a0", Geometry)], Float64, B("st_area2d")),
f("postgis", "area", vec![p("a0", Geometry)], Float64, B("st_area")),
f("postgis", "area", vec![p("geog", Geography)], Float64, B("st_area")),
f(
"postgis",
"area",
vec![p("geog", Geography), p("use_spheroid", Bool)],
Float64,
B("st_area"),
),
f("postgis", "area", vec![p("a0", Str)], Float64, B("st_area")),
f(
"postgis",
"ispolygoncw",
vec![p("a0", Geometry)],
Bool,
B("st_ispolygoncw"),
),
f(
"postgis",
"ispolygonccw",
vec![p("a0", Geometry)],
Bool,
B("st_ispolygonccw"),
),
f(
"postgis",
"distancespheroid",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Float64,
B("st_distancespheroid"),
),
f(
"postgis",
"distance",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Float64,
B("st_distance"),
),
f(
"postgis",
"distance",
vec![p("geog1", Geography), p("geog2", Geography)],
Float64,
B("st_distance"),
),
f(
"postgis",
"distance",
vec![p("geog1", Geography), p("geog2", Geography), p("use_spheroid", Bool)],
Float64,
B("st_distance"),
),
f(
"postgis",
"distance",
vec![p("a0", Str), p("a1", Str)],
Float64,
B("st_distance"),
),
f(
"postgis",
"pointinsidecircle",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Float64), p("a3", Float64)],
Bool,
B("st_pointinsidecircle"),
),
f(
"postgis",
"azimuth",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Float64,
B("st_azimuth"),
),
f(
"postgis",
"azimuth",
vec![p("geog1", Geography), p("geog2", Geography)],
Float64,
B("st_azimuth"),
),
f(
"postgis",
"project",
vec![p("geom1", Geometry), p("distance", Float64), p("azimuth", Float64)],
Geometry,
B("st_project"),
),
f(
"postgis",
"project",
vec![p("geom1", Geometry), p("geom2", Geometry), p("distance", Float64)],
Geometry,
B("st_project"),
),
f(
"postgis",
"project",
vec![p("geog", Geography), p("distance", Float64), p("azimuth", Float64)],
opt(Geography),
B("st_project"),
),
f(
"postgis",
"project",
vec![
p("geog_from", Geography),
p("geog_to", Geography),
p("distance", Float64),
],
Geography,
B("st_project"),
),
f(
"postgis",
"angle",
vec![p("pt1", Geometry), p("pt2", Geometry), p("pt3", Geometry)],
Float64,
B("st_angle"),
),
f(
"postgis",
"angle",
vec![
p("pt1", Geometry),
p("pt2", Geometry),
p("pt3", Geometry),
p("pt4", Geometry),
],
Float64,
B("st_angle"),
),
f(
"postgis",
"angle",
vec![p("line1", Geometry), p("line2", Geometry)],
Float64,
B("st_angle"),
),
f(
"postgis",
"lineextend",
vec![p("geom", Geometry), p("distance_forward", Float64)],
Geometry,
B("st_lineextend"),
),
f(
"postgis",
"lineextend",
vec![
p("geom", Geometry),
p("distance_forward", Float64),
p("distance_backward", Float64),
],
Geometry,
B("st_lineextend"),
),
f("postgis", "force2d", vec![p("a0", Geometry)], Geometry, B("st_force2d")),
f(
"postgis",
"force3dz",
vec![p("geom", Geometry)],
Geometry,
B("st_force3dz"),
),
f(
"postgis",
"force3dz",
vec![p("geom", Geometry), p("zvalue", Float64)],
Geometry,
B("st_force3dz"),
),
f(
"postgis",
"force3d",
vec![p("geom", Geometry)],
Geometry,
B("st_force3d"),
),
f(
"postgis",
"force3d",
vec![p("geom", Geometry), p("zvalue", Float64)],
Geometry,
B("st_force3d"),
),
f(
"postgis",
"force3dm",
vec![p("geom", Geometry)],
Geometry,
B("st_force3dm"),
),
f(
"postgis",
"force3dm",
vec![p("geom", Geometry), p("mvalue", Float64)],
Geometry,
B("st_force3dm"),
),
f(
"postgis",
"force4d",
vec![p("geom", Geometry)],
Geometry,
B("st_force4d"),
),
f(
"postgis",
"force4d",
vec![p("geom", Geometry), p("zvalue", Float64)],
Geometry,
B("st_force4d"),
),
f(
"postgis",
"force4d",
vec![p("geom", Geometry), p("zvalue", Float64), p("mvalue", Float64)],
Geometry,
B("st_force4d"),
),
f(
"postgis",
"forcecollection",
vec![p("a0", Geometry)],
Geometry,
B("st_forcecollection"),
),
f(
"postgis",
"collectionextract",
vec![p("a0", Geometry), p("a1", Int64)],
Geometry,
E("st_collectionextract($1, $2::int4)"),
),
f(
"postgis",
"collectionextract",
vec![p("a0", Geometry)],
Geometry,
E("st_collectionextract($1)"),
),
f(
"postgis",
"collectionhomogenize",
vec![p("a0", Geometry)],
Geometry,
B("st_collectionhomogenize"),
),
f("postgis", "multi", vec![p("a0", Geometry)], Geometry, B("st_multi")),
f(
"postgis",
"forcecurve",
vec![p("a0", Geometry)],
Geometry,
B("st_forcecurve"),
),
f(
"postgis",
"forcesfs",
vec![p("a0", Geometry)],
Geometry,
B("st_forcesfs"),
),
f(
"postgis",
"forcesfs",
vec![p("a0", Geometry), p("version", Str)],
Geometry,
B("st_forcesfs"),
),
f(
"postgis",
"envelope",
vec![p("a0", Geometry)],
Geometry,
B("st_envelope"),
),
f(
"postgis",
"boundingdiagonal",
vec![p("geom", Geometry)],
Geometry,
B("st_boundingdiagonal"),
),
f(
"postgis",
"boundingdiagonal",
vec![p("geom", Geometry), p("fits", Bool)],
Geometry,
B("st_boundingdiagonal"),
),
f("postgis", "reverse", vec![p("a0", Geometry)], Geometry, B("st_reverse")),
f(
"postgis",
"scroll",
vec![p("a0", Geometry), p("a1", Geometry)],
Geometry,
B("st_scroll"),
),
f(
"postgis",
"forcepolygoncw",
vec![p("a0", Geometry)],
Geometry,
B("st_forcepolygoncw"),
),
f(
"postgis",
"forcepolygonccw",
vec![p("a0", Geometry)],
Geometry,
B("st_forcepolygonccw"),
),
f(
"postgis",
"forcerhr",
vec![p("a0", Geometry)],
Geometry,
B("st_forcerhr"),
),
f(
"postgis",
"postgis_noop",
vec![p("a0", Geometry)],
Geometry,
B("postgis_noop"),
),
f(
"postgis",
"postgis_geos_noop",
vec![p("a0", Geometry)],
Geometry,
B("postgis_geos_noop"),
),
f(
"postgis",
"normalize",
vec![p("geom", Geometry)],
Geometry,
B("st_normalize"),
),
f("postgis", "zmflag", vec![p("a0", Geometry)], Int16, B("st_zmflag")),
f("postgis", "ndims", vec![p("a0", Geometry)], Int16, B("st_ndims")),
f("postgis", "hasz", vec![p("a0", Geometry)], Bool, B("st_hasz")),
f("postgis", "hasm", vec![p("a0", Geometry)], Bool, B("st_hasm")),
f("postgis", "asewkt", vec![p("a0", Geometry)], Str, E("st_asewkt($1)")),
f(
"postgis",
"asewkt",
vec![p("a0", Geometry), p("a1", Int64)],
Str,
E("st_asewkt($1, $2::int4)"),
),
f("postgis", "asewkt", vec![p("a0", Geography)], Str, E("st_asewkt($1)")),
f(
"postgis",
"asewkt",
vec![p("a0", Geography), p("a1", Int64)],
Str,
E("st_asewkt($1, $2::int4)"),
),
f("postgis", "asewkt", vec![p("a0", Str)], Str, E("st_asewkt($1)")),
f(
"postgis",
"astwkb",
vec![p("geom", Geometry)],
opt(Bytes),
E("st_astwkb($1)"),
),
f(
"postgis",
"astwkb",
vec![p("geom", Geometry), p("prec", Int64)],
opt(Bytes),
E("st_astwkb($1, $2::int4)"),
),
f(
"postgis",
"astwkb",
vec![p("geom", Geometry), p("prec", Int64), p("prec_z", Int64)],
opt(Bytes),
E("st_astwkb($1, $2::int4, $3::int4)"),
),
f(
"postgis",
"astwkb",
vec![
p("geom", Geometry),
p("prec", Int64),
p("prec_z", Int64),
p("prec_m", Int64),
],
opt(Bytes),
E("st_astwkb($1, $2::int4, $3::int4, $4::int4)"),
),
f(
"postgis",
"astwkb",
vec![
p("geom", Geometry),
p("prec", Int64),
p("prec_z", Int64),
p("prec_m", Int64),
p("with_sizes", Bool),
],
opt(Bytes),
E("st_astwkb($1, $2::int4, $3::int4, $4::int4, $5)"),
),
f(
"postgis",
"astwkb",
vec![
p("geom", Geometry),
p("prec", Int64),
p("prec_z", Int64),
p("prec_m", Int64),
p("with_sizes", Bool),
p("with_boxes", Bool),
],
opt(Bytes),
E("st_astwkb($1, $2::int4, $3::int4, $4::int4, $5, $6)"),
),
f(
"postgis",
"astwkb",
vec![p("geom", arr(Geometry)), p("ids", arr(Int64))],
opt(Bytes),
E("st_astwkb($1::geometry[], $2::int8[])"),
),
f(
"postgis",
"astwkb",
vec![p("geom", arr(Geometry)), p("ids", arr(Int64)), p("prec", Int64)],
opt(Bytes),
E("st_astwkb($1::geometry[], $2::int8[], $3::int4)"),
),
f(
"postgis",
"astwkb",
vec![
p("geom", arr(Geometry)),
p("ids", arr(Int64)),
p("prec", Int64),
p("prec_z", Int64),
],
opt(Bytes),
E("st_astwkb($1::geometry[], $2::int8[], $3::int4, $4::int4)"),
),
f(
"postgis",
"astwkb",
vec![
p("geom", arr(Geometry)),
p("ids", arr(Int64)),
p("prec", Int64),
p("prec_z", Int64),
p("prec_m", Int64),
],
opt(Bytes),
E("st_astwkb($1::geometry[], $2::int8[], $3::int4, $4::int4, $5::int4)"),
),
f(
"postgis",
"astwkb",
vec![
p("geom", arr(Geometry)),
p("ids", arr(Int64)),
p("prec", Int64),
p("prec_z", Int64),
p("prec_m", Int64),
p("with_sizes", Bool),
],
opt(Bytes),
E("st_astwkb($1::geometry[], $2::int8[], $3::int4, $4::int4, $5::int4, $6)"),
),
f(
"postgis",
"astwkb",
vec![
p("geom", arr(Geometry)),
p("ids", arr(Int64)),
p("prec", Int64),
p("prec_z", Int64),
p("prec_m", Int64),
p("with_sizes", Bool),
p("with_boxes", Bool),
],
opt(Bytes),
E("st_astwkb($1::geometry[], $2::int8[], $3::int4, $4::int4, $5::int4, $6, $7)"),
),
f("postgis", "asewkb", vec![p("a0", Geometry)], Bytes, B("st_asewkb")),
f(
"postgis",
"asewkb",
vec![p("a0", Geometry), p("a1", Str)],
Bytes,
B("st_asewkb"),
),
f("postgis", "ashexewkb", vec![p("a0", Geometry)], Str, B("st_ashexewkb")),
f(
"postgis",
"ashexewkb",
vec![p("a0", Geometry), p("a1", Str)],
Str,
B("st_ashexewkb"),
),
f(
"postgis",
"aslatlontext",
vec![p("geom", Geometry)],
Str,
B("st_aslatlontext"),
),
f(
"postgis",
"aslatlontext",
vec![p("geom", Geometry), p("tmpl", Str)],
Str,
B("st_aslatlontext"),
),
f(
"postgis",
"geomfromewkb",
vec![p("a0", Bytes)],
Geometry,
B("st_geomfromewkb"),
),
f(
"postgis",
"geomfromtwkb",
vec![p("a0", Bytes)],
Geometry,
B("st_geomfromtwkb"),
),
f(
"postgis",
"geomfromewkt",
vec![p("a0", Str)],
Geometry,
B("st_geomfromewkt"),
),
f(
"postgis",
"makepoint",
vec![p("a0", Float64), p("a1", Float64)],
Geometry,
B("st_makepoint"),
),
f(
"postgis",
"makepoint",
vec![p("a0", Float64), p("a1", Float64), p("a2", Float64)],
Geometry,
B("st_makepoint"),
),
f(
"postgis",
"makepoint",
vec![p("a0", Float64), p("a1", Float64), p("a2", Float64), p("a3", Float64)],
Geometry,
B("st_makepoint"),
),
f(
"postgis",
"makepointm",
vec![p("a0", Float64), p("a1", Float64), p("a2", Float64)],
Geometry,
B("st_makepointm"),
),
f(
"postgis",
"makebox3d",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Box3D,
B("st_3dmakebox"),
),
f(
"postgis",
"makeline",
vec![p("a0", arr(Geometry))],
Geometry,
E("st_makeline($1::geometry[])"),
),
f(
"postgis",
"makeline",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Geometry,
E("st_makeline($1, $2)"),
),
f(
"postgis",
"linefrommultipoint",
vec![p("a0", Geometry)],
Geometry,
B("st_linefrommultipoint"),
),
f(
"postgis",
"addpoint",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Geometry,
E("st_addpoint($1, $2)"),
),
f(
"postgis",
"addpoint",
vec![p("geom1", Geometry), p("geom2", Geometry), p("a2", Int64)],
Geometry,
E("st_addpoint($1, $2, $3::int4)"),
),
f(
"postgis",
"removepoint",
vec![p("a0", Geometry), p("a1", Int64)],
Geometry,
E("st_removepoint($1, $2::int4)"),
),
f(
"postgis",
"setpoint",
vec![p("a0", Geometry), p("a1", Int64), p("a2", Geometry)],
Geometry,
E("st_setpoint($1, $2::int4, $3)"),
),
f(
"postgis",
"makeenvelope",
vec![p("a0", Float64), p("a1", Float64), p("a2", Float64), p("a3", Float64)],
Geometry,
E("st_makeenvelope($1, $2, $3, $4)"),
),
f(
"postgis",
"makeenvelope",
vec![
p("a0", Float64),
p("a1", Float64),
p("a2", Float64),
p("a3", Float64),
p("a4", Int64),
],
Geometry,
E("st_makeenvelope($1, $2, $3, $4, $5::int4)"),
),
f(
"postgis",
"makepolygon",
vec![p("a0", Geometry), p("a1", arr(Geometry))],
Geometry,
E("st_makepolygon($1, $2::geometry[])"),
),
f(
"postgis",
"makepolygon",
vec![p("a0", Geometry)],
Geometry,
E("st_makepolygon($1)"),
),
f(
"postgis",
"buildarea",
vec![p("a0", Geometry)],
Geometry,
B("st_buildarea"),
),
f(
"postgis",
"polygonize",
vec![p("a0", arr(Geometry))],
Geometry,
E("st_polygonize($1::geometry[])"),
),
f(
"postgis",
"clusterintersecting",
vec![p("a0", arr(Geometry))],
arr(Geometry),
E("st_clusterintersecting($1::geometry[])"),
),
f(
"postgis",
"clusterwithin",
vec![p("a0", arr(Geometry)), p("a1", Float64)],
arr(Geometry),
E("st_clusterwithin($1::geometry[], $2)"),
),
f(
"postgis",
"linemerge",
vec![p("a0", Geometry)],
Geometry,
B("st_linemerge"),
),
f(
"postgis",
"linemerge",
vec![p("a0", Geometry), p("a1", Bool)],
Geometry,
B("st_linemerge"),
),
f(
"postgis",
"affine",
vec![
p("a0", Geometry),
p("a1", Float64),
p("a2", Float64),
p("a3", Float64),
p("a4", Float64),
p("a5", Float64),
p("a6", Float64),
p("a7", Float64),
p("a8", Float64),
p("a9", Float64),
p("a10", Float64),
p("a11", Float64),
p("a12", Float64),
],
Geometry,
B("st_affine"),
),
f(
"postgis",
"affine",
vec![
p("a0", Geometry),
p("a1", Float64),
p("a2", Float64),
p("a3", Float64),
p("a4", Float64),
p("a5", Float64),
p("a6", Float64),
],
Geometry,
B("st_affine"),
),
f(
"postgis",
"rotate",
vec![p("a0", Geometry), p("a1", Float64)],
Geometry,
B("st_rotate"),
),
f(
"postgis",
"rotate",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Float64), p("a3", Float64)],
Geometry,
B("st_rotate"),
),
f(
"postgis",
"rotate",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Geometry)],
Geometry,
B("st_rotate"),
),
f(
"postgis",
"rotatez",
vec![p("a0", Geometry), p("a1", Float64)],
Geometry,
B("st_rotatez"),
),
f(
"postgis",
"rotatex",
vec![p("a0", Geometry), p("a1", Float64)],
Geometry,
B("st_rotatex"),
),
f(
"postgis",
"rotatey",
vec![p("a0", Geometry), p("a1", Float64)],
Geometry,
B("st_rotatey"),
),
f(
"postgis",
"translate",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Float64), p("a3", Float64)],
Geometry,
B("st_translate"),
),
f(
"postgis",
"translate",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Float64)],
Geometry,
B("st_translate"),
),
f(
"postgis",
"scale",
vec![p("a0", Geometry), p("a1", Geometry)],
Geometry,
B("st_scale"),
),
f(
"postgis",
"scale",
vec![p("a0", Geometry), p("a1", Geometry), p("origin", Geometry)],
Geometry,
B("st_scale"),
),
f(
"postgis",
"scale",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Float64), p("a3", Float64)],
Geometry,
B("st_scale"),
),
f(
"postgis",
"scale",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Float64)],
Geometry,
B("st_scale"),
),
f(
"postgis",
"transscale",
vec![
p("a0", Geometry),
p("a1", Float64),
p("a2", Float64),
p("a3", Float64),
p("a4", Float64),
],
Geometry,
B("st_transscale"),
),
f(
"postgis",
"get_proj4_from_srid",
vec![p("a0", Int64)],
Str,
E("get_proj4_from_srid($1::int4)"),
),
f(
"postgis",
"setsrid",
vec![p("geom", Geometry), p("srid", Int64)],
Geometry,
E("st_setsrid($1, $2::int4)"),
),
f(
"postgis",
"setsrid",
vec![p("geog", Geography), p("srid", Int64)],
Geography,
E("st_setsrid($1, $2::int4)"),
),
f("postgis", "srid", vec![p("geom", Geometry)], Int64, B("st_srid")),
f("postgis", "srid", vec![p("geog", Geography)], Int64, B("st_srid")),
f(
"postgis",
"postgis_transform_geometry",
vec![p("geom", Geometry), p("a1", Str), p("a2", Str), p("a3", Int64)],
Geometry,
E("postgis_transform_geometry($1, $2, $3, $4::int4)"),
),
f(
"postgis",
"postgis_srs_codes",
vec![p("auth_name", Str)],
Str,
B("postgis_srs_codes"),
),
f(
"postgis",
"transform",
vec![p("a0", Geometry), p("a1", Int64)],
Geometry,
E("st_transform($1, $2::int4)"),
),
f(
"postgis",
"transform",
vec![p("geom", Geometry), p("to_proj", Str)],
Geometry,
E("st_transform($1, $2)"),
),
f(
"postgis",
"transform",
vec![p("geom", Geometry), p("from_proj", Str), p("to_proj", Str)],
Geometry,
E("st_transform($1, $2, $3)"),
),
f(
"postgis",
"transform",
vec![p("geom", Geometry), p("from_proj", Str), p("to_srid", Int64)],
Geometry,
E("st_transform($1, $2, $3::int4)"),
),
f(
"postgis",
"postgis_transform_pipeline_geometry",
vec![
p("geom", Geometry),
p("pipeline", Str),
p("forward", Bool),
p("to_srid", Int64),
],
Geometry,
E("postgis_transform_pipeline_geometry($1, $2, $3, $4::int4)"),
),
f(
"postgis",
"transformpipeline",
vec![p("geom", Geometry), p("pipeline", Str)],
Geometry,
E("st_transformpipeline($1, $2)"),
),
f(
"postgis",
"transformpipeline",
vec![p("geom", Geometry), p("pipeline", Str), p("to_srid", Int64)],
Geometry,
E("st_transformpipeline($1, $2, $3::int4)"),
),
f(
"postgis",
"inversetransformpipeline",
vec![p("geom", Geometry), p("pipeline", Str)],
Geometry,
E("st_inversetransformpipeline($1, $2)"),
),
f(
"postgis",
"inversetransformpipeline",
vec![p("geom", Geometry), p("pipeline", Str), p("to_srid", Int64)],
Geometry,
E("st_inversetransformpipeline($1, $2, $3::int4)"),
),
f("postgis", "postgis_version", vec![], opt(Str), B("postgis_version")),
f(
"postgis",
"postgis_liblwgeom_version",
vec![],
opt(Str),
B("postgis_liblwgeom_version"),
),
f(
"postgis",
"postgis_proj_version",
vec![],
opt(Str),
B("postgis_proj_version"),
),
f(
"postgis",
"postgis_proj_compiled_version",
vec![],
opt(Str),
B("postgis_proj_compiled_version"),
),
f(
"postgis",
"postgis_wagyu_version",
vec![],
opt(Str),
B("postgis_wagyu_version"),
),
f(
"postgis",
"postgis_scripts_installed",
vec![],
opt(Str),
B("postgis_scripts_installed"),
),
f(
"postgis",
"postgis_lib_version",
vec![],
opt(Str),
B("postgis_lib_version"),
),
f(
"postgis",
"postgis_scripts_released",
vec![],
opt(Str),
B("postgis_scripts_released"),
),
f(
"postgis",
"postgis_geos_version",
vec![],
opt(Str),
B("postgis_geos_version"),
),
f(
"postgis",
"postgis_geos_compiled_version",
vec![],
opt(Str),
B("postgis_geos_compiled_version"),
),
f(
"postgis",
"postgis_lib_revision",
vec![],
opt(Str),
B("postgis_lib_revision"),
),
f(
"postgis",
"postgis_svn_version",
vec![],
opt(Str),
B("postgis_svn_version"),
),
f(
"postgis",
"postgis_libxml_version",
vec![],
opt(Str),
B("postgis_libxml_version"),
),
f(
"postgis",
"postgis_scripts_build_date",
vec![],
opt(Str),
B("postgis_scripts_build_date"),
),
f(
"postgis",
"postgis_lib_build_date",
vec![],
opt(Str),
B("postgis_lib_build_date"),
),
f(
"postgis",
"postgis_full_version",
vec![],
opt(Str),
B("postgis_full_version"),
),
f("postgis", "to_box2d", vec![p("a0", Geometry)], Box2D, B("box2d")),
f("postgis", "to_box2d", vec![p("a0", Box3D)], Box2D, B("box2d")),
f("postgis", "to_box3d", vec![p("a0", Geometry)], Box3D, B("box3d")),
f("postgis", "to_box3d", vec![p("a0", Box2D)], Box3D, B("box3d")),
f(
"postgis",
"simplify",
vec![p("a0", Geometry), p("a1", Float64)],
Geometry,
B("st_simplify"),
),
f(
"postgis",
"simplify",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Bool)],
Geometry,
B("st_simplify"),
),
f(
"postgis",
"simplifyvw",
vec![p("a0", Geometry), p("a1", Float64)],
Geometry,
B("st_simplifyvw"),
),
f(
"postgis",
"seteffectivearea",
vec![p("a0", Geometry)],
Geometry,
E("st_seteffectivearea($1)"),
),
f(
"postgis",
"seteffectivearea",
vec![p("a0", Geometry), p("a1", Float64)],
Geometry,
E("st_seteffectivearea($1, $2)"),
),
f(
"postgis",
"seteffectivearea",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Int64)],
Geometry,
E("st_seteffectivearea($1, $2, $3::int4)"),
),
f(
"postgis",
"filterbym",
vec![p("a0", Geometry), p("a1", Float64)],
opt(Geometry),
B("st_filterbym"),
),
f(
"postgis",
"filterbym",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Float64)],
opt(Geometry),
B("st_filterbym"),
),
f(
"postgis",
"filterbym",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Float64), p("a3", Bool)],
opt(Geometry),
B("st_filterbym"),
),
f(
"postgis",
"chaikinsmoothing",
vec![p("a0", Geometry)],
Geometry,
E("st_chaikinsmoothing($1)"),
),
f(
"postgis",
"chaikinsmoothing",
vec![p("a0", Geometry), p("a1", Int64)],
Geometry,
E("st_chaikinsmoothing($1, $2::int4)"),
),
f(
"postgis",
"chaikinsmoothing",
vec![p("a0", Geometry), p("a1", Int64), p("a2", Bool)],
Geometry,
E("st_chaikinsmoothing($1, $2::int4, $3)"),
),
f(
"postgis",
"snaptogrid",
vec![
p("a0", Geometry),
p("a1", Float64),
p("a2", Float64),
p("a3", Float64),
p("a4", Float64),
],
Geometry,
B("st_snaptogrid"),
),
f(
"postgis",
"snaptogrid",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Float64)],
Geometry,
B("st_snaptogrid"),
),
f(
"postgis",
"snaptogrid",
vec![p("a0", Geometry), p("a1", Float64)],
Geometry,
B("st_snaptogrid"),
),
f(
"postgis",
"snaptogrid",
vec![
p("geom1", Geometry),
p("geom2", Geometry),
p("a2", Float64),
p("a3", Float64),
p("a4", Float64),
p("a5", Float64),
],
Geometry,
B("st_snaptogrid"),
),
f(
"postgis",
"segmentize",
vec![p("a0", Geometry), p("a1", Float64)],
Geometry,
B("st_segmentize"),
),
f(
"postgis",
"segmentize",
vec![p("geog", Geography), p("max_segment_length", Float64)],
Geography,
B("st_segmentize"),
),
f(
"postgis",
"lineinterpolatepoint",
vec![p("a0", Geometry), p("a1", Float64)],
Geometry,
B("st_lineinterpolatepoint"),
),
f(
"postgis",
"lineinterpolatepoint",
vec![p("a0", Geography), p("a1", Float64)],
Geography,
B("st_lineinterpolatepoint"),
),
f(
"postgis",
"lineinterpolatepoint",
vec![p("a0", Geography), p("a1", Float64), p("use_spheroid", Bool)],
Geography,
B("st_lineinterpolatepoint"),
),
f(
"postgis",
"lineinterpolatepoint",
vec![p("a0", Str), p("a1", Float64)],
opt(Geometry),
B("st_lineinterpolatepoint"),
),
f(
"postgis",
"lineinterpolatepoints",
vec![p("a0", Geometry), p("a1", Float64)],
Geometry,
B("st_lineinterpolatepoints"),
),
f(
"postgis",
"lineinterpolatepoints",
vec![p("a0", Geometry), p("a1", Float64), p("repeat", Bool)],
Geometry,
B("st_lineinterpolatepoints"),
),
f(
"postgis",
"lineinterpolatepoints",
vec![p("a0", Geography), p("a1", Float64)],
Geography,
B("st_lineinterpolatepoints"),
),
f(
"postgis",
"lineinterpolatepoints",
vec![p("a0", Geography), p("a1", Float64), p("use_spheroid", Bool)],
Geography,
B("st_lineinterpolatepoints"),
),
f(
"postgis",
"lineinterpolatepoints",
vec![
p("a0", Geography),
p("a1", Float64),
p("use_spheroid", Bool),
p("repeat", Bool),
],
Geography,
B("st_lineinterpolatepoints"),
),
f(
"postgis",
"lineinterpolatepoints",
vec![p("a0", Str), p("a1", Float64)],
opt(Geometry),
B("st_lineinterpolatepoints"),
),
f(
"postgis",
"linesubstring",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Float64)],
Geometry,
B("st_linesubstring"),
),
f(
"postgis",
"linesubstring",
vec![p("a0", Geography), p("a1", Float64), p("a2", Float64)],
Geography,
B("st_linesubstring"),
),
f(
"postgis",
"linesubstring",
vec![p("a0", Str), p("a1", Float64), p("a2", Float64)],
opt(Geometry),
B("st_linesubstring"),
),
f(
"postgis",
"linelocatepoint",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Float64,
B("st_linelocatepoint"),
),
f(
"postgis",
"linelocatepoint",
vec![p("a0", Geography), p("a1", Geography)],
Float64,
B("st_linelocatepoint"),
),
f(
"postgis",
"linelocatepoint",
vec![p("a0", Geography), p("a1", Geography), p("use_spheroid", Bool)],
Float64,
B("st_linelocatepoint"),
),
f(
"postgis",
"linelocatepoint",
vec![p("a0", Str), p("a1", Str)],
opt(Float64),
B("st_linelocatepoint"),
),
f(
"postgis",
"addmeasure",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Float64)],
Geometry,
B("st_addmeasure"),
),
f(
"postgis",
"closestpointofapproach",
vec![p("a0", Geometry), p("a1", Geometry)],
Float64,
B("st_closestpointofapproach"),
),
f(
"postgis",
"distancecpa",
vec![p("a0", Geometry), p("a1", Geometry)],
Float64,
B("st_distancecpa"),
),
f(
"postgis",
"cpawithin",
vec![p("a0", Geometry), p("a1", Geometry), p("a2", Float64)],
Bool,
B("st_cpawithin"),
),
f(
"postgis",
"isvalidtrajectory",
vec![p("a0", Geometry)],
Bool,
B("st_isvalidtrajectory"),
),
f(
"postgis",
"intersection",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Geometry,
B("st_intersection"),
),
f(
"postgis",
"intersection",
vec![p("geom1", Geometry), p("geom2", Geometry), p("gridsize", Float64)],
Geometry,
B("st_intersection"),
),
f(
"postgis",
"intersection",
vec![p("a0", Geography), p("a1", Geography)],
Geography,
B("st_intersection"),
),
f(
"postgis",
"intersection",
vec![p("a0", Str), p("a1", Str)],
Geometry,
B("st_intersection"),
),
f(
"postgis",
"buffer",
vec![p("geom", Geometry), p("radius", Float64)],
Geometry,
E("st_buffer($1, $2)"),
),
f(
"postgis",
"buffer",
vec![p("geom", Geometry), p("radius", Float64), p("options", Str)],
Geometry,
E("st_buffer($1, $2, $3)"),
),
f(
"postgis",
"buffer",
vec![p("geom", Geometry), p("radius", Float64), p("quadsegs", Int64)],
Geometry,
E("st_buffer($1, $2, $3::int4)"),
),
f(
"postgis",
"buffer",
vec![p("a0", Geography), p("a1", Float64)],
Geography,
E("st_buffer($1, $2)"),
),
f(
"postgis",
"buffer",
vec![p("a0", Geography), p("a1", Float64), p("a2", Int64)],
Geography,
E("st_buffer($1, $2, $3::int4)"),
),
f(
"postgis",
"buffer",
vec![p("a0", Geography), p("a1", Float64), p("a2", Str)],
Geography,
E("st_buffer($1, $2, $3)"),
),
f(
"postgis",
"buffer",
vec![p("a0", Str), p("a1", Float64)],
Geometry,
E("st_buffer($1, $2)"),
),
f(
"postgis",
"buffer",
vec![p("a0", Str), p("a1", Float64), p("a2", Int64)],
Geometry,
E("st_buffer($1, $2, $3::int4)"),
),
f(
"postgis",
"buffer",
vec![p("a0", Str), p("a1", Float64), p("a2", Str)],
Geometry,
E("st_buffer($1, $2, $3)"),
),
f(
"postgis",
"minimumboundingcircle",
vec![p("inputgeom", Geometry)],
Geometry,
E("st_minimumboundingcircle($1)"),
),
f(
"postgis",
"minimumboundingcircle",
vec![p("inputgeom", Geometry), p("segs_per_quarter", Int64)],
Geometry,
E("st_minimumboundingcircle($1, $2::int4)"),
),
f(
"postgis",
"orientedenvelope",
vec![p("a0", Geometry)],
Geometry,
B("st_orientedenvelope"),
),
f(
"postgis",
"offsetcurve",
vec![p("line", Geometry), p("distance", Float64)],
Geometry,
B("st_offsetcurve"),
),
f(
"postgis",
"offsetcurve",
vec![p("line", Geometry), p("distance", Float64), p("params", Str)],
Geometry,
B("st_offsetcurve"),
),
f(
"postgis",
"generatepoints",
vec![p("area", Geometry), p("npoints", Int64)],
Geometry,
E("st_generatepoints($1, $2::int4)"),
),
f(
"postgis",
"generatepoints",
vec![p("area", Geometry), p("npoints", Int64), p("seed", Int64)],
Geometry,
E("st_generatepoints($1, $2::int4, $3::int4)"),
),
f(
"postgis",
"convexhull",
vec![p("a0", Geometry)],
Geometry,
B("st_convexhull"),
),
f(
"postgis",
"simplifypreservetopology",
vec![p("a0", Geometry), p("a1", Float64)],
Geometry,
B("st_simplifypreservetopology"),
),
f(
"postgis",
"isvalidreason",
vec![p("a0", Geometry)],
Str,
E("st_isvalidreason($1)"),
),
f(
"postgis",
"isvalidreason",
vec![p("a0", Geometry), p("a1", Int64)],
Str,
E("st_isvalidreason($1, $2::int4)"),
),
f(
"postgis",
"isvalid",
vec![p("a0", Geometry), p("a1", Int64)],
Bool,
E("st_isvalid($1, $2::int4)"),
),
f("postgis", "isvalid", vec![p("a0", Geometry)], Bool, E("st_isvalid($1)")),
f(
"postgis",
"hausdorffdistance",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Float64,
B("st_hausdorffdistance"),
),
f(
"postgis",
"hausdorffdistance",
vec![p("geom1", Geometry), p("geom2", Geometry), p("a2", Float64)],
Float64,
B("st_hausdorffdistance"),
),
f(
"postgis",
"frechetdistance",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Float64,
B("st_frechetdistance"),
),
f(
"postgis",
"frechetdistance",
vec![p("geom1", Geometry), p("geom2", Geometry), p("a2", Float64)],
Float64,
B("st_frechetdistance"),
),
f(
"postgis",
"difference",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Geometry,
B("st_difference"),
),
f(
"postgis",
"difference",
vec![p("geom1", Geometry), p("geom2", Geometry), p("gridsize", Float64)],
Geometry,
B("st_difference"),
),
f(
"postgis",
"boundary",
vec![p("a0", Geometry)],
Geometry,
B("st_boundary"),
),
f("postgis", "points", vec![p("a0", Geometry)], Geometry, B("st_points")),
f(
"postgis",
"symdifference",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Geometry,
B("st_symdifference"),
),
f(
"postgis",
"symdifference",
vec![p("geom1", Geometry), p("geom2", Geometry), p("gridsize", Float64)],
Geometry,
B("st_symdifference"),
),
f(
"postgis",
"symmetricdifference",
vec![p("geom1", Geometry), p("geom2", Geometry)],
opt(Geometry),
B("st_symmetricdifference"),
),
f(
"postgis",
"union",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Geometry,
E("st_union($1, $2)"),
),
f(
"postgis",
"union",
vec![p("geom1", Geometry), p("geom2", Geometry), p("gridsize", Float64)],
Geometry,
E("st_union($1, $2, $3)"),
),
f(
"postgis",
"union",
vec![p("a0", arr(Geometry))],
Geometry,
E("st_union($1::geometry[])"),
),
f(
"postgis",
"unaryunion",
vec![p("a0", Geometry)],
Geometry,
B("st_unaryunion"),
),
f(
"postgis",
"unaryunion",
vec![p("a0", Geometry), p("gridsize", Float64)],
Geometry,
B("st_unaryunion"),
),
f(
"postgis",
"removerepeatedpoints",
vec![p("geom", Geometry)],
Geometry,
B("st_removerepeatedpoints"),
),
f(
"postgis",
"removerepeatedpoints",
vec![p("geom", Geometry), p("tolerance", Float64)],
Geometry,
B("st_removerepeatedpoints"),
),
f(
"postgis",
"clipbybox2d",
vec![p("geom", Geometry), p("box", Box2D)],
Geometry,
B("st_clipbybox2d"),
),
f(
"postgis",
"subdivide",
vec![p("geom", Geometry)],
Geometry,
E("st_subdivide($1)"),
),
f(
"postgis",
"subdivide",
vec![p("geom", Geometry), p("maxvertices", Int64)],
Geometry,
E("st_subdivide($1, $2::int4)"),
),
f(
"postgis",
"subdivide",
vec![p("geom", Geometry), p("maxvertices", Int64), p("gridsize", Float64)],
Geometry,
E("st_subdivide($1, $2::int4, $3)"),
),
f(
"postgis",
"reduceprecision",
vec![p("geom", Geometry), p("gridsize", Float64)],
Geometry,
B("st_reduceprecision"),
),
f(
"postgis",
"makevalid",
vec![p("a0", Geometry)],
Geometry,
B("st_makevalid"),
),
f(
"postgis",
"makevalid",
vec![p("geom", Geometry), p("params", Str)],
Geometry,
B("st_makevalid"),
),
f(
"postgis",
"cleangeometry",
vec![p("a0", Geometry)],
Geometry,
B("st_cleangeometry"),
),
f(
"postgis",
"split",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Geometry,
B("st_split"),
),
f(
"postgis",
"sharedpaths",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Geometry,
B("st_sharedpaths"),
),
f(
"postgis",
"snap",
vec![p("geom1", Geometry), p("geom2", Geometry), p("a2", Float64)],
Geometry,
B("st_snap"),
),
f(
"postgis",
"relatematch",
vec![p("a0", Str), p("a1", Str)],
Bool,
B("st_relatematch"),
),
f("postgis", "node", vec![p("g", Geometry)], Geometry, B("st_node")),
f(
"postgis",
"delaunaytriangles",
vec![p("g1", Geometry)],
Geometry,
E("st_delaunaytriangles($1)"),
),
f(
"postgis",
"delaunaytriangles",
vec![p("g1", Geometry), p("tolerance", Float64)],
Geometry,
E("st_delaunaytriangles($1, $2)"),
),
f(
"postgis",
"delaunaytriangles",
vec![p("g1", Geometry), p("tolerance", Float64), p("flags", Int64)],
Geometry,
E("st_delaunaytriangles($1, $2, $3::int4)"),
),
f(
"postgis",
"triangulatepolygon",
vec![p("g1", Geometry)],
Geometry,
B("st_triangulatepolygon"),
),
f(
"postgis",
"voronoipolygons",
vec![p("g1", Geometry)],
opt(Geometry),
B("st_voronoipolygons"),
),
f(
"postgis",
"voronoipolygons",
vec![p("g1", Geometry), p("tolerance", Float64)],
opt(Geometry),
B("st_voronoipolygons"),
),
f(
"postgis",
"voronoipolygons",
vec![p("g1", Geometry), p("tolerance", Float64), p("extend_to", Geometry)],
opt(Geometry),
B("st_voronoipolygons"),
),
f(
"postgis",
"voronoilines",
vec![p("g1", Geometry)],
opt(Geometry),
B("st_voronoilines"),
),
f(
"postgis",
"voronoilines",
vec![p("g1", Geometry), p("tolerance", Float64)],
opt(Geometry),
B("st_voronoilines"),
),
f(
"postgis",
"voronoilines",
vec![p("g1", Geometry), p("tolerance", Float64), p("extend_to", Geometry)],
opt(Geometry),
B("st_voronoilines"),
),
f(
"postgis",
"combinebbox",
vec![p("a0", Box3D), p("a1", Geometry)],
opt(Box3D),
B("st_combinebbox"),
),
f(
"postgis",
"combinebbox",
vec![p("a0", Box3D), p("a1", Box3D)],
opt(Box3D),
B("st_combinebbox"),
),
f(
"postgis",
"combinebbox",
vec![p("a0", Box2D), p("a1", Geometry)],
opt(Box2D),
B("st_combinebbox"),
),
f(
"postgis",
"collect",
vec![p("geom1", Geometry), p("geom2", Geometry)],
opt(Geometry),
E("st_collect($1, $2)"),
),
f(
"postgis",
"collect",
vec![p("a0", arr(Geometry))],
Geometry,
E("st_collect($1::geometry[])"),
),
f(
"postgis",
"coverageunion",
vec![p("a0", arr(Geometry))],
Geometry,
E("st_coverageunion($1::geometry[])"),
),
f(
"postgis",
"relate",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Str,
E("st_relate($1, $2)"),
),
f(
"postgis",
"relate",
vec![p("geom1", Geometry), p("geom2", Geometry), p("a2", Int64)],
Str,
E("st_relate($1, $2, $3::int4)"),
),
f(
"postgis",
"relate",
vec![p("geom1", Geometry), p("geom2", Geometry), p("a2", Str)],
Bool,
E("st_relate($1, $2, $3)"),
),
f(
"postgis",
"disjoint",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Bool,
B("st_disjoint"),
),
f(
"postgis",
"linecrossingdirection",
vec![p("line1", Geometry), p("line2", Geometry)],
Int64,
B("st_linecrossingdirection"),
),
f(
"postgis",
"dwithin",
vec![p("geom1", Geometry), p("geom2", Geometry), p("a2", Float64)],
Bool,
B("st_dwithin"),
),
f(
"postgis",
"dwithin",
vec![p("geog1", Geography), p("geog2", Geography), p("tolerance", Float64)],
Bool,
B("st_dwithin"),
),
f(
"postgis",
"dwithin",
vec![
p("geog1", Geography),
p("geog2", Geography),
p("tolerance", Float64),
p("use_spheroid", Bool),
],
Bool,
B("st_dwithin"),
),
f(
"postgis",
"dwithin",
vec![p("a0", Str), p("a1", Str), p("a2", Float64)],
opt(Bool),
B("st_dwithin"),
),
f(
"postgis",
"touches",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Bool,
B("st_touches"),
),
f(
"postgis",
"intersects",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Bool,
B("st_intersects"),
),
f(
"postgis",
"intersects",
vec![p("geog1", Geography), p("geog2", Geography)],
Bool,
B("st_intersects"),
),
f(
"postgis",
"intersects",
vec![p("a0", Str), p("a1", Str)],
opt(Bool),
B("st_intersects"),
),
f(
"postgis",
"crosses",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Bool,
B("st_crosses"),
),
f(
"postgis",
"contains",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Bool,
B("st_contains"),
),
f(
"postgis",
"containsproperly",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Bool,
B("st_containsproperly"),
),
f(
"postgis",
"within",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Bool,
B("st_within"),
),
f(
"postgis",
"covers",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Bool,
B("st_covers"),
),
f(
"postgis",
"covers",
vec![p("geog1", Geography), p("geog2", Geography)],
Bool,
B("st_covers"),
),
f(
"postgis",
"covers",
vec![p("a0", Str), p("a1", Str)],
opt(Bool),
B("st_covers"),
),
f(
"postgis",
"coveredby",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Bool,
B("st_coveredby"),
),
f(
"postgis",
"coveredby",
vec![p("geog1", Geography), p("geog2", Geography)],
Bool,
B("st_coveredby"),
),
f(
"postgis",
"coveredby",
vec![p("a0", Str), p("a1", Str)],
opt(Bool),
B("st_coveredby"),
),
f(
"postgis",
"overlaps",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Bool,
B("st_overlaps"),
),
f(
"postgis",
"dfullywithin",
vec![p("geom1", Geometry), p("geom2", Geometry), p("a2", Float64)],
Bool,
B("st_dfullywithin"),
),
f(
"postgis",
"dwithin3d",
vec![p("geom1", Geometry), p("geom2", Geometry), p("a2", Float64)],
Bool,
B("st_3ddwithin"),
),
f(
"postgis",
"dfullywithin3d",
vec![p("geom1", Geometry), p("geom2", Geometry), p("a2", Float64)],
Bool,
B("st_3ddfullywithin"),
),
f(
"postgis",
"intersects3d",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Bool,
B("st_3dintersects"),
),
f(
"postgis",
"orderingequals",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Bool,
B("st_orderingequals"),
),
f(
"postgis",
"equals",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Bool,
B("st_equals"),
),
f(
"postgis",
"minimumclearance",
vec![p("a0", Geometry)],
Float64,
B("st_minimumclearance"),
),
f(
"postgis",
"minimumclearanceline",
vec![p("a0", Geometry)],
Geometry,
B("st_minimumclearanceline"),
),
f(
"postgis",
"centroid",
vec![p("a0", Geometry)],
Geometry,
B("st_centroid"),
),
f(
"postgis",
"centroid",
vec![p("a0", Geography)],
Geography,
B("st_centroid"),
),
f(
"postgis",
"centroid",
vec![p("a0", Geography), p("use_spheroid", Bool)],
Geography,
B("st_centroid"),
),
f("postgis", "centroid", vec![p("a0", Str)], Geometry, B("st_centroid")),
f(
"postgis",
"geometricmedian",
vec![p("g", Geometry)],
opt(Geometry),
E("st_geometricmedian($1)"),
),
f(
"postgis",
"geometricmedian",
vec![p("g", Geometry), p("tolerance", Float64)],
opt(Geometry),
E("st_geometricmedian($1, $2)"),
),
f(
"postgis",
"geometricmedian",
vec![p("g", Geometry), p("tolerance", Float64), p("max_iter", Int64)],
opt(Geometry),
E("st_geometricmedian($1, $2, $3::int4)"),
),
f(
"postgis",
"geometricmedian",
vec![
p("g", Geometry),
p("tolerance", Float64),
p("max_iter", Int64),
p("fail_if_not_converged", Bool),
],
opt(Geometry),
E("st_geometricmedian($1, $2, $3::int4, $4)"),
),
f("postgis", "isring", vec![p("a0", Geometry)], Bool, B("st_isring")),
f(
"postgis",
"pointonsurface",
vec![p("a0", Geometry)],
Geometry,
B("st_pointonsurface"),
),
f("postgis", "issimple", vec![p("a0", Geometry)], Bool, B("st_issimple")),
f(
"postgis",
"iscollection",
vec![p("a0", Geometry)],
Bool,
B("st_iscollection"),
),
f(
"postgis",
"geomfromgml",
vec![p("a0", Str), p("a1", Int64)],
Geometry,
E("st_geomfromgml($1, $2::int4)"),
),
f(
"postgis",
"geomfromgml",
vec![p("a0", Str)],
Geometry,
E("st_geomfromgml($1)"),
),
f(
"postgis",
"geomfromkml",
vec![p("a0", Str)],
Geometry,
B("st_geomfromkml"),
),
f(
"postgis",
"geomfrommarc21",
vec![p("marc21xml", Str)],
Geometry,
B("st_geomfrommarc21"),
),
f("postgis", "asmarc21", vec![p("geom", Geometry)], Str, B("st_asmarc21")),
f(
"postgis",
"asmarc21",
vec![p("geom", Geometry), p("format", Str)],
Str,
B("st_asmarc21"),
),
f(
"postgis",
"geomfromgeojson",
vec![p("a0", Str)],
Geometry,
B("st_geomfromgeojson"),
),
f(
"postgis",
"geomfromgeojson",
vec![p("a0", Json)],
Geometry,
B("st_geomfromgeojson"),
),
f(
"postgis",
"postgis_libjson_version",
vec![],
Str,
B("postgis_libjson_version"),
),
f(
"postgis",
"linefromencodedpolyline",
vec![p("txtin", Str)],
Geometry,
E("st_linefromencodedpolyline($1)"),
),
f(
"postgis",
"linefromencodedpolyline",
vec![p("txtin", Str), p("nprecision", Int64)],
Geometry,
E("st_linefromencodedpolyline($1, $2::int4)"),
),
f(
"postgis",
"asencodedpolyline",
vec![p("geom", Geometry)],
Str,
E("st_asencodedpolyline($1)"),
),
f(
"postgis",
"asencodedpolyline",
vec![p("geom", Geometry), p("nprecision", Int64)],
Str,
E("st_asencodedpolyline($1, $2::int4)"),
),
f("postgis", "assvg", vec![p("geom", Geometry)], Str, E("st_assvg($1)")),
f(
"postgis",
"assvg",
vec![p("geom", Geometry), p("rel", Int64)],
Str,
E("st_assvg($1, $2::int4)"),
),
f(
"postgis",
"assvg",
vec![p("geom", Geometry), p("rel", Int64), p("maxdecimaldigits", Int64)],
Str,
E("st_assvg($1, $2::int4, $3::int4)"),
),
f("postgis", "assvg", vec![p("geog", Geography)], Str, E("st_assvg($1)")),
f(
"postgis",
"assvg",
vec![p("geog", Geography), p("rel", Int64)],
Str,
E("st_assvg($1, $2::int4)"),
),
f(
"postgis",
"assvg",
vec![p("geog", Geography), p("rel", Int64), p("maxdecimaldigits", Int64)],
Str,
E("st_assvg($1, $2::int4, $3::int4)"),
),
f("postgis", "assvg", vec![p("a0", Str)], Str, E("st_assvg($1)")),
f(
"postgis",
"asgml",
vec![p("geom", Geometry)],
opt(Str),
E("st_asgml($1)"),
),
f(
"postgis",
"asgml",
vec![p("geom", Geometry), p("maxdecimaldigits", Int64)],
opt(Str),
E("st_asgml($1, $2::int4)"),
),
f(
"postgis",
"asgml",
vec![p("geom", Geometry), p("maxdecimaldigits", Int64), p("options", Int64)],
opt(Str),
E("st_asgml($1, $2::int4, $3::int4)"),
),
f(
"postgis",
"asgml",
vec![p("version", Int64), p("geom", Geometry)],
opt(Str),
E("st_asgml($1::int4, $2)"),
),
f(
"postgis",
"asgml",
vec![p("version", Int64), p("geom", Geometry), p("maxdecimaldigits", Int64)],
opt(Str),
E("st_asgml($1::int4, $2, $3::int4)"),
),
f(
"postgis",
"asgml",
vec![
p("version", Int64),
p("geom", Geometry),
p("maxdecimaldigits", Int64),
p("options", Int64),
],
opt(Str),
E("st_asgml($1::int4, $2, $3::int4, $4::int4)"),
),
f(
"postgis",
"asgml",
vec![
p("version", Int64),
p("geom", Geometry),
p("maxdecimaldigits", Int64),
p("options", Int64),
p("nprefix", Str),
],
opt(Str),
E("st_asgml($1::int4, $2, $3::int4, $4::int4, $5)"),
),
f(
"postgis",
"asgml",
vec![
p("version", Int64),
p("geom", Geometry),
p("maxdecimaldigits", Int64),
p("options", Int64),
p("nprefix", Str),
p("id", Str),
],
opt(Str),
E("st_asgml($1::int4, $2, $3::int4, $4::int4, $5, $6)"),
),
f(
"postgis",
"asgml",
vec![p("version", Int64), p("geog", Geography)],
Str,
E("st_asgml($1::int4, $2)"),
),
f(
"postgis",
"asgml",
vec![p("version", Int64), p("geog", Geography), p("maxdecimaldigits", Int64)],
Str,
E("st_asgml($1::int4, $2, $3::int4)"),
),
f(
"postgis",
"asgml",
vec![
p("version", Int64),
p("geog", Geography),
p("maxdecimaldigits", Int64),
p("options", Int64),
],
Str,
E("st_asgml($1::int4, $2, $3::int4, $4::int4)"),
),
f(
"postgis",
"asgml",
vec![
p("version", Int64),
p("geog", Geography),
p("maxdecimaldigits", Int64),
p("options", Int64),
p("nprefix", Str),
],
Str,
E("st_asgml($1::int4, $2, $3::int4, $4::int4, $5)"),
),
f(
"postgis",
"asgml",
vec![
p("version", Int64),
p("geog", Geography),
p("maxdecimaldigits", Int64),
p("options", Int64),
p("nprefix", Str),
p("id", Str),
],
Str,
E("st_asgml($1::int4, $2, $3::int4, $4::int4, $5, $6)"),
),
f("postgis", "asgml", vec![p("geog", Geography)], Str, E("st_asgml($1)")),
f(
"postgis",
"asgml",
vec![p("geog", Geography), p("maxdecimaldigits", Int64)],
Str,
E("st_asgml($1, $2::int4)"),
),
f(
"postgis",
"asgml",
vec![p("geog", Geography), p("maxdecimaldigits", Int64), p("options", Int64)],
Str,
E("st_asgml($1, $2::int4, $3::int4)"),
),
f(
"postgis",
"asgml",
vec![
p("geog", Geography),
p("maxdecimaldigits", Int64),
p("options", Int64),
p("nprefix", Str),
],
Str,
E("st_asgml($1, $2::int4, $3::int4, $4)"),
),
f(
"postgis",
"asgml",
vec![
p("geog", Geography),
p("maxdecimaldigits", Int64),
p("options", Int64),
p("nprefix", Str),
p("id", Str),
],
Str,
E("st_asgml($1, $2::int4, $3::int4, $4, $5)"),
),
f("postgis", "asgml", vec![p("a0", Str)], Str, E("st_asgml($1)")),
f("postgis", "askml", vec![p("geom", Geometry)], Str, E("st_askml($1)")),
f(
"postgis",
"askml",
vec![p("geom", Geometry), p("maxdecimaldigits", Int64)],
Str,
E("st_askml($1, $2::int4)"),
),
f(
"postgis",
"askml",
vec![p("geom", Geometry), p("maxdecimaldigits", Int64), p("nprefix", Str)],
Str,
E("st_askml($1, $2::int4, $3)"),
),
f("postgis", "askml", vec![p("geog", Geography)], Str, E("st_askml($1)")),
f(
"postgis",
"askml",
vec![p("geog", Geography), p("maxdecimaldigits", Int64)],
Str,
E("st_askml($1, $2::int4)"),
),
f(
"postgis",
"askml",
vec![p("geog", Geography), p("maxdecimaldigits", Int64), p("nprefix", Str)],
Str,
E("st_askml($1, $2::int4, $3)"),
),
f("postgis", "askml", vec![p("a0", Str)], Str, E("st_askml($1)")),
f(
"postgis",
"asgeojson",
vec![p("geom", Geometry)],
Str,
E("st_asgeojson($1)"),
),
f(
"postgis",
"asgeojson",
vec![p("geom", Geometry), p("maxdecimaldigits", Int64)],
Str,
E("st_asgeojson($1, $2::int4)"),
),
f(
"postgis",
"asgeojson",
vec![p("geom", Geometry), p("maxdecimaldigits", Int64), p("options", Int64)],
Str,
E("st_asgeojson($1, $2::int4, $3::int4)"),
),
f(
"postgis",
"asgeojson",
vec![p("geog", Geography)],
Str,
E("st_asgeojson($1)"),
),
f(
"postgis",
"asgeojson",
vec![p("geog", Geography), p("maxdecimaldigits", Int64)],
Str,
E("st_asgeojson($1, $2::int4)"),
),
f(
"postgis",
"asgeojson",
vec![p("geog", Geography), p("maxdecimaldigits", Int64), p("options", Int64)],
Str,
E("st_asgeojson($1, $2::int4, $3::int4)"),
),
f("postgis", "asgeojson", vec![p("a0", Str)], Str, E("st_asgeojson($1)")),
f(
"postgis",
"asmvtgeom",
vec![p("geom", Geometry), p("bounds", Box2D)],
opt(Geometry),
E("st_asmvtgeom($1, $2)"),
),
f(
"postgis",
"asmvtgeom",
vec![p("geom", Geometry), p("bounds", Box2D), p("extent", Int64)],
opt(Geometry),
E("st_asmvtgeom($1, $2, $3::int4)"),
),
f(
"postgis",
"asmvtgeom",
vec![
p("geom", Geometry),
p("bounds", Box2D),
p("extent", Int64),
p("buffer", Int64),
],
opt(Geometry),
E("st_asmvtgeom($1, $2, $3::int4, $4::int4)"),
),
f(
"postgis",
"asmvtgeom",
vec![
p("geom", Geometry),
p("bounds", Box2D),
p("extent", Int64),
p("buffer", Int64),
p("clip_geom", Bool),
],
opt(Geometry),
E("st_asmvtgeom($1, $2, $3::int4, $4::int4, $5)"),
),
f(
"postgis",
"postgis_libprotobuf_version",
vec![],
Str,
B("postgis_libprotobuf_version"),
),
f(
"postgis",
"geohash",
vec![p("geom", Geometry)],
Str,
E("st_geohash($1)"),
),
f(
"postgis",
"geohash",
vec![p("geom", Geometry), p("maxchars", Int64)],
Str,
E("st_geohash($1, $2::int4)"),
),
f(
"postgis",
"geohash",
vec![p("geog", Geography)],
Str,
E("st_geohash($1)"),
),
f(
"postgis",
"geohash",
vec![p("geog", Geography), p("maxchars", Int64)],
Str,
E("st_geohash($1, $2::int4)"),
),
f(
"postgis",
"box2dfromgeohash",
vec![p("a0", Str)],
opt(Box2D),
E("st_box2dfromgeohash($1)"),
),
f(
"postgis",
"box2dfromgeohash",
vec![p("a0", Str), p("a1", Int64)],
opt(Box2D),
E("st_box2dfromgeohash($1, $2::int4)"),
),
f(
"postgis",
"pointfromgeohash",
vec![p("a0", Str)],
opt(Geometry),
E("st_pointfromgeohash($1)"),
),
f(
"postgis",
"pointfromgeohash",
vec![p("a0", Str), p("a1", Int64)],
opt(Geometry),
E("st_pointfromgeohash($1, $2::int4)"),
),
f(
"postgis",
"geomfromgeohash",
vec![p("a0", Str)],
opt(Geometry),
E("st_geomfromgeohash($1)"),
),
f(
"postgis",
"geomfromgeohash",
vec![p("a0", Str), p("a1", Int64)],
opt(Geometry),
E("st_geomfromgeohash($1, $2::int4)"),
),
f(
"postgis",
"numpoints",
vec![p("a0", Geometry)],
Int64,
B("st_numpoints"),
),
f(
"postgis",
"numgeometries",
vec![p("a0", Geometry)],
Int64,
B("st_numgeometries"),
),
f(
"postgis",
"geometryn",
vec![p("a0", Geometry), p("a1", Int64)],
Geometry,
E("st_geometryn($1, $2::int4)"),
),
f(
"postgis",
"dimension",
vec![p("a0", Geometry)],
Int64,
B("st_dimension"),
),
f(
"postgis",
"exteriorring",
vec![p("a0", Geometry)],
Geometry,
B("st_exteriorring"),
),
f(
"postgis",
"numinteriorrings",
vec![p("a0", Geometry)],
Int64,
B("st_numinteriorrings"),
),
f(
"postgis",
"numinteriorring",
vec![p("a0", Geometry)],
Int64,
B("st_numinteriorring"),
),
f(
"postgis",
"interiorringn",
vec![p("a0", Geometry), p("a1", Int64)],
Geometry,
E("st_interiorringn($1, $2::int4)"),
),
f(
"postgis",
"geometrytype",
vec![p("a0", Geometry)],
Str,
B("geometrytype"),
),
f(
"postgis",
"geometrytype",
vec![p("a0", Geography)],
Str,
B("geometrytype"),
),
f(
"postgis",
"pointn",
vec![p("a0", Geometry), p("a1", Int64)],
Geometry,
E("st_pointn($1, $2::int4)"),
),
f(
"postgis",
"numpatches",
vec![p("a0", Geometry)],
Int64,
B("st_numpatches"),
),
f(
"postgis",
"patchn",
vec![p("a0", Geometry), p("a1", Int64)],
Geometry,
E("st_patchn($1, $2::int4)"),
),
f(
"postgis",
"startpoint",
vec![p("a0", Geometry)],
Geometry,
B("st_startpoint"),
),
f(
"postgis",
"endpoint",
vec![p("a0", Geometry)],
Geometry,
B("st_endpoint"),
),
f("postgis", "isclosed", vec![p("a0", Geometry)], Bool, B("st_isclosed")),
f("postgis", "isempty", vec![p("a0", Geometry)], Bool, B("st_isempty")),
f(
"postgis",
"asbinary",
vec![p("a0", Geometry), p("a1", Str)],
Bytes,
B("st_asbinary"),
),
f("postgis", "asbinary", vec![p("a0", Geometry)], Bytes, B("st_asbinary")),
f("postgis", "asbinary", vec![p("a0", Geography)], Bytes, B("st_asbinary")),
f(
"postgis",
"asbinary",
vec![p("a0", Geography), p("a1", Str)],
opt(Bytes),
B("st_asbinary"),
),
f("postgis", "astext", vec![p("a0", Geometry)], Str, E("st_astext($1)")),
f(
"postgis",
"astext",
vec![p("a0", Geometry), p("a1", Int64)],
Str,
E("st_astext($1, $2::int4)"),
),
f("postgis", "astext", vec![p("a0", Geography)], Str, E("st_astext($1)")),
f(
"postgis",
"astext",
vec![p("a0", Geography), p("a1", Int64)],
Str,
E("st_astext($1, $2::int4)"),
),
f("postgis", "astext", vec![p("a0", Str)], Str, E("st_astext($1)")),
f(
"postgis",
"geomfromtext",
vec![p("a0", Str)],
Geometry,
E("st_geomfromtext($1)"),
),
f(
"postgis",
"geomfromtext",
vec![p("a0", Str), p("a1", Int64)],
Geometry,
E("st_geomfromtext($1, $2::int4)"),
),
f(
"postgis",
"pointfromtext",
vec![p("a0", Str)],
opt(Geometry),
E("st_pointfromtext($1)"),
),
f(
"postgis",
"pointfromtext",
vec![p("a0", Str), p("a1", Int64)],
opt(Geometry),
E("st_pointfromtext($1, $2::int4)"),
),
f(
"postgis",
"linefromtext",
vec![p("a0", Str)],
opt(Geometry),
E("st_linefromtext($1)"),
),
f(
"postgis",
"linefromtext",
vec![p("a0", Str), p("a1", Int64)],
opt(Geometry),
E("st_linefromtext($1, $2::int4)"),
),
f(
"postgis",
"polyfromtext",
vec![p("a0", Str)],
opt(Geometry),
E("st_polyfromtext($1)"),
),
f(
"postgis",
"polyfromtext",
vec![p("a0", Str), p("a1", Int64)],
opt(Geometry),
E("st_polyfromtext($1, $2::int4)"),
),
f(
"postgis",
"polygonfromtext",
vec![p("a0", Str), p("a1", Int64)],
opt(Geometry),
E("st_polygonfromtext($1, $2::int4)"),
),
f(
"postgis",
"polygonfromtext",
vec![p("a0", Str)],
opt(Geometry),
E("st_polygonfromtext($1)"),
),
f(
"postgis",
"mlinefromtext",
vec![p("a0", Str), p("a1", Int64)],
opt(Geometry),
E("st_mlinefromtext($1, $2::int4)"),
),
f(
"postgis",
"mlinefromtext",
vec![p("a0", Str)],
opt(Geometry),
E("st_mlinefromtext($1)"),
),
f(
"postgis",
"multilinestringfromtext",
vec![p("a0", Str)],
opt(Geometry),
E("st_multilinestringfromtext($1)"),
),
f(
"postgis",
"multilinestringfromtext",
vec![p("a0", Str), p("a1", Int64)],
opt(Geometry),
E("st_multilinestringfromtext($1, $2::int4)"),
),
f(
"postgis",
"mpointfromtext",
vec![p("a0", Str), p("a1", Int64)],
opt(Geometry),
E("st_mpointfromtext($1, $2::int4)"),
),
f(
"postgis",
"mpointfromtext",
vec![p("a0", Str)],
opt(Geometry),
E("st_mpointfromtext($1)"),
),
f(
"postgis",
"multipointfromtext",
vec![p("a0", Str)],
opt(Geometry),
B("st_multipointfromtext"),
),
f(
"postgis",
"mpolyfromtext",
vec![p("a0", Str), p("a1", Int64)],
opt(Geometry),
E("st_mpolyfromtext($1, $2::int4)"),
),
f(
"postgis",
"mpolyfromtext",
vec![p("a0", Str)],
opt(Geometry),
E("st_mpolyfromtext($1)"),
),
f(
"postgis",
"multipolygonfromtext",
vec![p("a0", Str), p("a1", Int64)],
opt(Geometry),
E("st_multipolygonfromtext($1, $2::int4)"),
),
f(
"postgis",
"multipolygonfromtext",
vec![p("a0", Str)],
opt(Geometry),
E("st_multipolygonfromtext($1)"),
),
f(
"postgis",
"geomcollfromtext",
vec![p("a0", Str), p("a1", Int64)],
opt(Geometry),
E("st_geomcollfromtext($1, $2::int4)"),
),
f(
"postgis",
"geomcollfromtext",
vec![p("a0", Str)],
opt(Geometry),
E("st_geomcollfromtext($1)"),
),
f(
"postgis",
"geomfromwkb",
vec![p("a0", Bytes)],
Geometry,
E("st_geomfromwkb($1)"),
),
f(
"postgis",
"geomfromwkb",
vec![p("a0", Bytes), p("a1", Int64)],
Geometry,
E("st_geomfromwkb($1, $2::int4)"),
),
f(
"postgis",
"pointfromwkb",
vec![p("a0", Bytes), p("a1", Int64)],
opt(Geometry),
E("st_pointfromwkb($1, $2::int4)"),
),
f(
"postgis",
"pointfromwkb",
vec![p("a0", Bytes)],
opt(Geometry),
E("st_pointfromwkb($1)"),
),
f(
"postgis",
"linefromwkb",
vec![p("a0", Bytes), p("a1", Int64)],
opt(Geometry),
E("st_linefromwkb($1, $2::int4)"),
),
f(
"postgis",
"linefromwkb",
vec![p("a0", Bytes)],
opt(Geometry),
E("st_linefromwkb($1)"),
),
f(
"postgis",
"linestringfromwkb",
vec![p("a0", Bytes), p("a1", Int64)],
opt(Geometry),
E("st_linestringfromwkb($1, $2::int4)"),
),
f(
"postgis",
"linestringfromwkb",
vec![p("a0", Bytes)],
opt(Geometry),
E("st_linestringfromwkb($1)"),
),
f(
"postgis",
"polyfromwkb",
vec![p("a0", Bytes), p("a1", Int64)],
opt(Geometry),
E("st_polyfromwkb($1, $2::int4)"),
),
f(
"postgis",
"polyfromwkb",
vec![p("a0", Bytes)],
opt(Geometry),
E("st_polyfromwkb($1)"),
),
f(
"postgis",
"polygonfromwkb",
vec![p("a0", Bytes), p("a1", Int64)],
opt(Geometry),
E("st_polygonfromwkb($1, $2::int4)"),
),
f(
"postgis",
"polygonfromwkb",
vec![p("a0", Bytes)],
opt(Geometry),
E("st_polygonfromwkb($1)"),
),
f(
"postgis",
"mpointfromwkb",
vec![p("a0", Bytes), p("a1", Int64)],
opt(Geometry),
E("st_mpointfromwkb($1, $2::int4)"),
),
f(
"postgis",
"mpointfromwkb",
vec![p("a0", Bytes)],
opt(Geometry),
E("st_mpointfromwkb($1)"),
),
f(
"postgis",
"multipointfromwkb",
vec![p("a0", Bytes), p("a1", Int64)],
opt(Geometry),
E("st_multipointfromwkb($1, $2::int4)"),
),
f(
"postgis",
"multipointfromwkb",
vec![p("a0", Bytes)],
opt(Geometry),
E("st_multipointfromwkb($1)"),
),
f(
"postgis",
"multilinefromwkb",
vec![p("a0", Bytes)],
opt(Geometry),
B("st_multilinefromwkb"),
),
f(
"postgis",
"mlinefromwkb",
vec![p("a0", Bytes), p("a1", Int64)],
opt(Geometry),
E("st_mlinefromwkb($1, $2::int4)"),
),
f(
"postgis",
"mlinefromwkb",
vec![p("a0", Bytes)],
opt(Geometry),
E("st_mlinefromwkb($1)"),
),
f(
"postgis",
"mpolyfromwkb",
vec![p("a0", Bytes), p("a1", Int64)],
opt(Geometry),
E("st_mpolyfromwkb($1, $2::int4)"),
),
f(
"postgis",
"mpolyfromwkb",
vec![p("a0", Bytes)],
opt(Geometry),
E("st_mpolyfromwkb($1)"),
),
f(
"postgis",
"multipolyfromwkb",
vec![p("a0", Bytes), p("a1", Int64)],
opt(Geometry),
E("st_multipolyfromwkb($1, $2::int4)"),
),
f(
"postgis",
"multipolyfromwkb",
vec![p("a0", Bytes)],
opt(Geometry),
E("st_multipolyfromwkb($1)"),
),
f(
"postgis",
"geomcollfromwkb",
vec![p("a0", Bytes), p("a1", Int64)],
opt(Geometry),
E("st_geomcollfromwkb($1, $2::int4)"),
),
f(
"postgis",
"geomcollfromwkb",
vec![p("a0", Bytes)],
opt(Geometry),
E("st_geomcollfromwkb($1)"),
),
f(
"postgis",
"maxdistance",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Float64,
B("st_maxdistance"),
),
f(
"postgis",
"closestpoint",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Geometry,
B("st_closestpoint"),
),
f(
"postgis",
"closestpoint",
vec![p("a0", Geography), p("a1", Geography)],
Geography,
B("st_closestpoint"),
),
f(
"postgis",
"closestpoint",
vec![p("a0", Geography), p("a1", Geography), p("use_spheroid", Bool)],
Geography,
B("st_closestpoint"),
),
f(
"postgis",
"closestpoint",
vec![p("a0", Str), p("a1", Str)],
opt(Geometry),
B("st_closestpoint"),
),
f(
"postgis",
"shortestline",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Geometry,
B("st_shortestline"),
),
f(
"postgis",
"shortestline",
vec![p("a0", Geography), p("a1", Geography)],
Geography,
B("st_shortestline"),
),
f(
"postgis",
"shortestline",
vec![p("a0", Geography), p("a1", Geography), p("use_spheroid", Bool)],
Geography,
B("st_shortestline"),
),
f(
"postgis",
"shortestline",
vec![p("a0", Str), p("a1", Str)],
opt(Geometry),
B("st_shortestline"),
),
f(
"postgis",
"longestline",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Geometry,
B("st_longestline"),
),
f(
"postgis",
"flipcoordinates",
vec![p("a0", Geometry)],
Geometry,
B("st_flipcoordinates"),
),
f(
"postgis",
"bdpolyfromtext",
vec![p("a0", Str), p("a1", Int64)],
Geometry,
E("st_bdpolyfromtext($1, $2::int4)"),
),
f(
"postgis",
"bdmpolyfromtext",
vec![p("a0", Str), p("a1", Int64)],
Geometry,
E("st_bdmpolyfromtext($1, $2::int4)"),
),
f(
"postgis",
"to_geography",
vec![p("a0", Bytes)],
Geography,
E("geography($1)"),
),
f(
"postgis",
"to_geography",
vec![p("a0", Geometry)],
Geography,
E("geography($1)"),
),
f(
"postgis",
"geogfromtext",
vec![p("a0", Str)],
Geography,
B("st_geogfromtext"),
),
f(
"postgis",
"geogfromwkb",
vec![p("a0", Bytes)],
Geography,
B("st_geogfromwkb"),
),
f(
"postgis",
"postgis_typmod_dims",
vec![p("a0", Int64)],
Int64,
E("postgis_typmod_dims($1::int4)"),
),
f(
"postgis",
"postgis_typmod_srid",
vec![p("a0", Int64)],
Int64,
E("postgis_typmod_srid($1::int4)"),
),
f(
"postgis",
"postgis_typmod_type",
vec![p("a0", Int64)],
Str,
E("postgis_typmod_type($1::int4)"),
),
f(
"postgis",
"geography_cmp",
vec![p("a0", Geography), p("a1", Geography)],
Int64,
B("geography_cmp"),
),
f(
"postgis",
"distancesphere",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Float64,
B("st_distancesphere"),
),
f(
"postgis",
"distancesphere",
vec![p("geom1", Geometry), p("geom2", Geometry), p("radius", Float64)],
Float64,
B("st_distancesphere"),
),
f(
"postgis",
"postgis_constraint_srid",
vec![p("geomschema", Str), p("geomtable", Str), p("geomcolumn", Str)],
Int64,
B("postgis_constraint_srid"),
),
f(
"postgis",
"postgis_constraint_dims",
vec![p("geomschema", Str), p("geomtable", Str), p("geomcolumn", Str)],
Int64,
B("postgis_constraint_dims"),
),
f(
"postgis",
"distance3d",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Float64,
B("st_3ddistance"),
),
f(
"postgis",
"maxdistance3d",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Float64,
B("st_3dmaxdistance"),
),
f(
"postgis",
"closestpoint3d",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Geometry,
B("st_3dclosestpoint"),
),
f(
"postgis",
"shortestline3d",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Geometry,
B("st_3dshortestline"),
),
f(
"postgis",
"longestline3d",
vec![p("geom1", Geometry), p("geom2", Geometry)],
Geometry,
B("st_3dlongestline"),
),
f(
"postgis",
"coorddim",
vec![p("geometry", Geometry)],
Int16,
B("st_coorddim"),
),
f(
"postgis",
"curvetoline",
vec![p("geom", Geometry)],
Geometry,
E("st_curvetoline($1)"),
),
f(
"postgis",
"curvetoline",
vec![p("geom", Geometry), p("tol", Float64)],
Geometry,
E("st_curvetoline($1, $2)"),
),
f(
"postgis",
"curvetoline",
vec![p("geom", Geometry), p("tol", Float64), p("toltype", Int64)],
Geometry,
E("st_curvetoline($1, $2, $3::int4)"),
),
f(
"postgis",
"curvetoline",
vec![
p("geom", Geometry),
p("tol", Float64),
p("toltype", Int64),
p("flags", Int64),
],
Geometry,
E("st_curvetoline($1, $2, $3::int4, $4::int4)"),
),
f("postgis", "hasarc", vec![p("geometry", Geometry)], Bool, B("st_hasarc")),
f(
"postgis",
"linetocurve",
vec![p("geometry", Geometry)],
Geometry,
B("st_linetocurve"),
),
f(
"postgis",
"numcurves",
vec![p("geometry", Geometry)],
Int64,
B("st_numcurves"),
),
f(
"postgis",
"curven",
vec![p("geometry", Geometry), p("i", Int64)],
Geometry,
E("st_curven($1, $2::int4)"),
),
f(
"postgis",
"point",
vec![p("a0", Float64), p("a1", Float64)],
Geometry,
E("st_point($1, $2)"),
),
f(
"postgis",
"point",
vec![p("a0", Float64), p("a1", Float64), p("srid", Int64)],
Geometry,
E("st_point($1, $2, $3::int4)"),
),
f(
"postgis",
"pointz",
vec![
p("xcoordinate", Float64),
p("ycoordinate", Float64),
p("zcoordinate", Float64),
],
Geometry,
E("st_pointz($1, $2, $3)"),
),
f(
"postgis",
"pointz",
vec![
p("xcoordinate", Float64),
p("ycoordinate", Float64),
p("zcoordinate", Float64),
p("srid", Int64),
],
Geometry,
E("st_pointz($1, $2, $3, $4::int4)"),
),
f(
"postgis",
"pointm",
vec![
p("xcoordinate", Float64),
p("ycoordinate", Float64),
p("mcoordinate", Float64),
],
Geometry,
E("st_pointm($1, $2, $3)"),
),
f(
"postgis",
"pointm",
vec![
p("xcoordinate", Float64),
p("ycoordinate", Float64),
p("mcoordinate", Float64),
p("srid", Int64),
],
Geometry,
E("st_pointm($1, $2, $3, $4::int4)"),
),
f(
"postgis",
"pointzm",
vec![
p("xcoordinate", Float64),
p("ycoordinate", Float64),
p("zcoordinate", Float64),
p("mcoordinate", Float64),
],
Geometry,
E("st_pointzm($1, $2, $3, $4)"),
),
f(
"postgis",
"pointzm",
vec![
p("xcoordinate", Float64),
p("ycoordinate", Float64),
p("zcoordinate", Float64),
p("mcoordinate", Float64),
p("srid", Int64),
],
Geometry,
E("st_pointzm($1, $2, $3, $4, $5::int4)"),
),
f(
"postgis",
"polygon",
vec![p("a0", Geometry), p("a1", Int64)],
Geometry,
E("st_polygon($1, $2::int4)"),
),
f(
"postgis",
"locatebetween",
vec![
p("geometry", Geometry),
p("frommeasure", Float64),
p("tomeasure", Float64),
],
Geometry,
B("st_locatebetween"),
),
f(
"postgis",
"locatebetween",
vec![
p("geometry", Geometry),
p("frommeasure", Float64),
p("tomeasure", Float64),
p("leftrightoffset", Float64),
],
Geometry,
B("st_locatebetween"),
),
f(
"postgis",
"locatealong",
vec![p("geometry", Geometry), p("measure", Float64)],
Geometry,
B("st_locatealong"),
),
f(
"postgis",
"locatealong",
vec![
p("geometry", Geometry),
p("measure", Float64),
p("leftrightoffset", Float64),
],
Geometry,
B("st_locatealong"),
),
f(
"postgis",
"locatebetweenelevations",
vec![
p("geometry", Geometry),
p("fromelevation", Float64),
p("toelevation", Float64),
],
Geometry,
B("st_locatebetweenelevations"),
),
f(
"postgis",
"interpolatepoint",
vec![p("line", Geometry), p("point", Geometry)],
Float64,
B("st_interpolatepoint"),
),
f(
"postgis",
"simplifypolygonhull",
vec![p("geom", Geometry), p("vertex_fraction", Float64)],
Geometry,
B("st_simplifypolygonhull"),
),
f(
"postgis",
"simplifypolygonhull",
vec![p("geom", Geometry), p("vertex_fraction", Float64), p("is_outer", Bool)],
Geometry,
B("st_simplifypolygonhull"),
),
f(
"postgis",
"concavehull",
vec![p("param_geom", Geometry), p("param_pctconvex", Float64)],
Geometry,
B("st_concavehull"),
),
f(
"postgis",
"concavehull",
vec![
p("param_geom", Geometry),
p("param_pctconvex", Float64),
p("param_allow_holes", Bool),
],
Geometry,
B("st_concavehull"),
),
f(
"postgis",
"asx3d",
vec![p("geom", Geometry)],
opt(Str),
E("st_asx3d($1)"),
),
f(
"postgis",
"asx3d",
vec![p("geom", Geometry), p("maxdecimaldigits", Int64)],
opt(Str),
E("st_asx3d($1, $2::int4)"),
),
f(
"postgis",
"asx3d",
vec![p("geom", Geometry), p("maxdecimaldigits", Int64), p("options", Int64)],
opt(Str),
E("st_asx3d($1, $2::int4, $3::int4)"),
),
f(
"postgis",
"lineinterpolatepoint3d",
vec![p("a0", Geometry), p("a1", Float64)],
Geometry,
B("st_3dlineinterpolatepoint"),
),
f(
"postgis",
"removeirrelevantpointsforview",
vec![p("a0", Geometry), p("a1", Box2D)],
Geometry,
B("st_removeirrelevantpointsforview"),
),
f(
"postgis",
"removeirrelevantpointsforview",
vec![p("a0", Geometry), p("a1", Box2D), p("a2", Bool)],
Geometry,
B("st_removeirrelevantpointsforview"),
),
f(
"postgis",
"removesmallparts",
vec![p("a0", Geometry), p("a1", Float64), p("a2", Float64)],
Geometry,
B("st_removesmallparts"),
),
f(
"postgis",
"extent_agg",
vec![p("a0", Geometry)],
opt(Box2D),
B("st_extent"),
),
f(
"postgis",
"extent3d_agg",
vec![p("a0", Geometry)],
opt(Box2D),
B("st_3dextent"),
),
f(
"postgis",
"memunion_agg",
vec![p("a0", Geometry)],
opt(Box2D),
B("st_memunion"),
),
f(
"postgis",
"union_agg",
vec![p("a0", Geometry)],
opt(Geometry),
B("st_union"),
),
f(
"postgis",
"union_agg",
vec![p("a0", Geometry), p("gridsize", Float64)],
opt(Geometry),
B("st_union"),
),
f(
"postgis",
"collect_agg",
vec![p("a0", Geometry)],
opt(Geometry),
B("st_collect"),
),
f(
"postgis",
"clusterintersecting_agg",
vec![p("a0", Geometry)],
opt(arr(Geometry)),
B("st_clusterintersecting"),
),
f(
"postgis",
"clusterwithin_agg",
vec![p("a0", Geometry), p("a1", Float64)],
opt(arr(Geometry)),
B("st_clusterwithin"),
),
f(
"postgis",
"polygonize_agg",
vec![p("a0", Geometry)],
opt(Geometry),
B("st_polygonize"),
),
f(
"postgis",
"makeline_agg",
vec![p("a0", Geometry)],
opt(Geometry),
B("st_makeline"),
),
f(
"postgis",
"coverageunion_agg",
vec![p("a0", Geometry)],
opt(Geometry),
B("st_coverageunion"),
),
f(
"postgis",
"op_neq",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("<>"),
),
f(
"postgis",
"op_overlaps",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("&&"),
),
f(
"postgis",
"op_same",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("~="),
),
f(
"postgis",
"op_distance_centroid",
vec![p("a", Geometry), p("b", Geometry)],
Float64,
O("<->"),
),
f(
"postgis",
"op_distance_box",
vec![p("a", Geometry), p("b", Geometry)],
Float64,
O("<#>"),
),
f(
"postgis",
"op_within",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("@"),
),
f(
"postgis",
"op_contains",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("~"),
),
f(
"postgis",
"op_left",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("<<"),
),
f(
"postgis",
"op_overleft",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("&<"),
),
f(
"postgis",
"op_below",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("<<|"),
),
f(
"postgis",
"op_overbelow",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("&<|"),
),
f(
"postgis",
"op_overright",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("&>"),
),
f(
"postgis",
"op_right",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O(">>"),
),
f(
"postgis",
"op_overabove",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("|&>"),
),
f(
"postgis",
"op_above",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("|>>"),
),
f(
"postgis",
"op_overlaps_nd",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("&&&"),
),
f(
"postgis",
"op_contains_nd",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("~~"),
),
f(
"postgis",
"op_within_nd",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("@@"),
),
f(
"postgis",
"op_same_nd",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("~~="),
),
f(
"postgis",
"op_distance_centroid_nd",
vec![p("a", Geometry), p("b", Geometry)],
Float64,
O("<<->>"),
),
f(
"postgis",
"op_distance_cpa",
vec![p("a", Geometry), p("b", Geometry)],
Float64,
O("|=|"),
),
f(
"postgis",
"op_overlaps",
vec![p("a", Geography), p("b", Geography)],
Bool,
O("&&"),
),
f(
"postgis",
"op_distance_knn",
vec![p("a", Geography), p("b", Geography)],
Float64,
O("<->"),
),
f(
"postgis",
"op_contains_2d",
vec![p("a", Box2D), p("b", Geometry)],
Bool,
O("~"),
),
f(
"postgis",
"op_is_contained_2d",
vec![p("a", Box2D), p("b", Geometry)],
Bool,
O("@"),
),
f(
"postgis",
"op_overlaps_2d",
vec![p("a", Box2D), p("b", Geometry)],
Bool,
O("&&"),
),
f(
"postgis",
"op_contains_2d",
vec![p("a", Geometry), p("b", Box2D)],
Bool,
O("~"),
),
f(
"postgis",
"op_is_contained_2d",
vec![p("a", Geometry), p("b", Box2D)],
Bool,
O("@"),
),
f(
"postgis",
"op_overlaps_2d",
vec![p("a", Geometry), p("b", Box2D)],
Bool,
O("&&"),
),
f(
"postgis",
"op_overlaps_2d",
vec![p("a", Box2D), p("b", Box2D)],
Bool,
O("&&"),
),
f(
"postgis",
"op_is_contained_2d",
vec![p("a", Box2D), p("b", Box2D)],
Bool,
O("@"),
),
f(
"postgis",
"op_contains_2d",
vec![p("a", Box2D), p("b", Box2D)],
Bool,
O("~"),
),
f(
"postgis",
"op_overlaps_3d",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("&/&"),
),
f(
"postgis",
"op_contains_3d",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("@>>"),
),
f(
"postgis",
"op_contained_3d",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("<<@"),
),
f(
"postgis",
"op_same_3d",
vec![p("a", Geometry), p("b", Geometry)],
Bool,
O("~=="),
),
]
}