Skip to content

Commit 2341194

Browse files
authored
Rerun gen/generator.jl for GEOS 3.13 (#214)
* Rerun gen/generator.jl for GEOS 3.13 * Mark trimmed rounded precision WKT-writer test as broken
1 parent 77f0b8b commit 2341194

File tree

3 files changed

+144
-16
lines changed

3 files changed

+144
-16
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ LibGEOSMakieExt = "Makie"
2121
Aqua = "0.8"
2222
CEnum = "0.2, 0.3, 0.4, 0.5"
2323
Extents = "0.1.1"
24-
GEOS_jll = "3.12"
24+
GEOS_jll = "3.13"
2525
GeoInterface = "1"
2626
GeoInterfaceMakie = "0.1"
2727
GeoInterfaceRecipes = "1"

src/generated/libgeos_api.jl

Lines changed: 142 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ const GEOSContextHandle_HS = Cvoid
22

33
const GEOSContextHandle_t = Ptr{GEOSContextHandle_HS}
44

5-
# typedef void ( * GEOSMessageHandler ) ( const char * fmt , ... )
5+
# typedef void ( * GEOSMessageHandler ) ( GEOS_PRINTF_FORMAT const char * fmt , ... )
66
const GEOSMessageHandler = Ptr{Cvoid}
77

88
# typedef void ( * GEOSMessageHandler_r ) ( const char * message , void * userdata )
@@ -45,6 +45,11 @@ const GEOSCoordSeq = Ptr{GEOSCoordSequence}
4545
GEOS_MULTILINESTRING = 5
4646
GEOS_MULTIPOLYGON = 6
4747
GEOS_GEOMETRYCOLLECTION = 7
48+
GEOS_CIRCULARSTRING = 8
49+
GEOS_COMPOUNDCURVE = 9
50+
GEOS_CURVEPOLYGON = 10
51+
GEOS_MULTICURVE = 11
52+
GEOS_MULTISURFACE = 12
4853
end
4954

5055
@cenum GEOSWKBByteOrders::UInt32 begin
@@ -576,6 +581,48 @@ function GEOSGeom_clone_r(handle, g)
576581
)::Ptr{GEOSGeometry}
577582
end
578583

584+
function GEOSGeom_createCircularString_r(handle, s)
585+
@ccall libgeos.GEOSGeom_createCircularString_r(
586+
handle::GEOSContextHandle_t,
587+
s::Ptr{GEOSCoordSequence},
588+
)::Ptr{GEOSGeometry}
589+
end
590+
591+
function GEOSGeom_createEmptyCircularString_r(handle)
592+
@ccall libgeos.GEOSGeom_createEmptyCircularString_r(
593+
handle::GEOSContextHandle_t,
594+
)::Ptr{GEOSGeometry}
595+
end
596+
597+
function GEOSGeom_createCompoundCurve_r(handle, curves, ncurves)
598+
@ccall libgeos.GEOSGeom_createCompoundCurve_r(
599+
handle::GEOSContextHandle_t,
600+
curves::Ptr{Ptr{GEOSGeometry}},
601+
ncurves::Cuint,
602+
)::Ptr{GEOSGeometry}
603+
end
604+
605+
function GEOSGeom_createEmptyCompoundCurve_r(handle)
606+
@ccall libgeos.GEOSGeom_createEmptyCompoundCurve_r(
607+
handle::GEOSContextHandle_t,
608+
)::Ptr{GEOSGeometry}
609+
end
610+
611+
function GEOSGeom_createCurvePolygon_r(handle, shell, holes, nholes)
612+
@ccall libgeos.GEOSGeom_createCurvePolygon_r(
613+
handle::GEOSContextHandle_t,
614+
shell::Ptr{GEOSGeometry},
615+
holes::Ptr{Ptr{GEOSGeometry}},
616+
nholes::Cuint,
617+
)::Ptr{GEOSGeometry}
618+
end
619+
620+
function GEOSGeom_createEmptyCurvePolygon_r(handle)
621+
@ccall libgeos.GEOSGeom_createEmptyCurvePolygon_r(
622+
handle::GEOSContextHandle_t,
623+
)::Ptr{GEOSGeometry}
624+
end
625+
579626
function GEOSGeom_destroy_r(handle, g)
580627
@ccall libgeos.GEOSGeom_destroy_r(
581628
handle::GEOSContextHandle_t,
@@ -1227,6 +1274,28 @@ function GEOSPreparedWithin_r(handle, pg1, g2)
12271274
)::Cchar
12281275
end
12291276

1277+
function GEOSPreparedRelate_r(handle, pg1, g2)
1278+
string_copy_free(
1279+
@ccall(
1280+
libgeos.GEOSPreparedRelate_r(
1281+
handle::GEOSContextHandle_t,
1282+
pg1::Ptr{GEOSPreparedGeometry},
1283+
g2::Ptr{GEOSGeometry},
1284+
)::Cstring
1285+
),
1286+
handle,
1287+
)
1288+
end
1289+
1290+
function GEOSPreparedRelatePattern_r(handle, pg1, g2, im)
1291+
@ccall libgeos.GEOSPreparedRelatePattern_r(
1292+
handle::GEOSContextHandle_t,
1293+
pg1::Ptr{GEOSPreparedGeometry},
1294+
g2::Ptr{GEOSGeometry},
1295+
im::Cstring,
1296+
)::Cchar
1297+
end
1298+
12301299
function GEOSPreparedNearestPoints_r(handle, pg1, g2)
12311300
@ccall libgeos.GEOSPreparedNearestPoints_r(
12321301
handle::GEOSContextHandle_t,
@@ -1369,12 +1438,12 @@ end
13691438
GEOSRELATE_BNR_MONOVALENT_ENDPOINT = 4
13701439
end
13711440

1372-
function GEOSRelatePattern_r(handle, g1, g2, pat)
1441+
function GEOSRelatePattern_r(handle, g1, g2, imPattern)
13731442
@ccall libgeos.GEOSRelatePattern_r(
13741443
handle::GEOSContextHandle_t,
13751444
g1::Ptr{GEOSGeometry},
13761445
g2::Ptr{GEOSGeometry},
1377-
pat::Cstring,
1446+
imPattern::Cstring,
13781447
)::Cchar
13791448
end
13801449

@@ -1391,11 +1460,11 @@ function GEOSRelate_r(handle, g1, g2)
13911460
)
13921461
end
13931462

1394-
function GEOSRelatePatternMatch_r(handle, mat, pat)
1463+
function GEOSRelatePatternMatch_r(handle, intMatrix, imPattern)
13951464
@ccall libgeos.GEOSRelatePatternMatch_r(
13961465
handle::GEOSContextHandle_t,
1397-
mat::Cstring,
1398-
pat::Cstring,
1466+
intMatrix::Cstring,
1467+
imPattern::Cstring,
13991468
)::Cchar
14001469
end
14011470

@@ -1988,6 +2057,10 @@ function GEOSWKTWriter_setOld3D_r(handle, writer, useOld3D)
19882057
)::Cvoid
19892058
end
19902059

2060+
function GEOS_printDouble(d, precision, result)
2061+
@ccall libgeos.GEOS_printDouble(d::Cdouble, precision::Cuint, result::Cstring)::Cint
2062+
end
2063+
19912064
function GEOSWKBReader_create_r(handle)
19922065
@ccall libgeos.GEOSWKBReader_create_r(handle::GEOSContextHandle_t)::Ptr{GEOSWKBReader}
19932066
end
@@ -2390,6 +2463,42 @@ function GEOSGeom_createPolygon(shell, holes, nholes)
23902463
)::Ptr{GEOSGeometry}
23912464
end
23922465

2466+
function GEOSGeom_createCircularString(s)
2467+
@ccall libgeos.GEOSGeom_createCircularString(
2468+
s::Ptr{GEOSCoordSequence},
2469+
)::Ptr{GEOSGeometry}
2470+
end
2471+
2472+
# no prototype is found for this function at geos_c.h:2519:31, please use with caution
2473+
function GEOSGeom_createEmptyCircularString()
2474+
@ccall libgeos.GEOSGeom_createEmptyCircularString()::Ptr{GEOSGeometry}
2475+
end
2476+
2477+
function GEOSGeom_createCompoundCurve(curves, ncurves)
2478+
@ccall libgeos.GEOSGeom_createCompoundCurve(
2479+
curves::Ptr{Ptr{GEOSGeometry}},
2480+
ncurves::Cuint,
2481+
)::Ptr{GEOSGeometry}
2482+
end
2483+
2484+
# no prototype is found for this function at geos_c.h:2538:31, please use with caution
2485+
function GEOSGeom_createEmptyCompoundCurve()
2486+
@ccall libgeos.GEOSGeom_createEmptyCompoundCurve()::Ptr{GEOSGeometry}
2487+
end
2488+
2489+
function GEOSGeom_createCurvePolygon(shell, holes, nholes)
2490+
@ccall libgeos.GEOSGeom_createCurvePolygon(
2491+
shell::Ptr{GEOSGeometry},
2492+
holes::Ptr{Ptr{GEOSGeometry}},
2493+
nholes::Cuint,
2494+
)::Ptr{GEOSGeometry}
2495+
end
2496+
2497+
# no prototype is found for this function at geos_c.h:2564:31, please use with caution
2498+
function GEOSGeom_createEmptyCurvePolygon()
2499+
@ccall libgeos.GEOSGeom_createEmptyCurvePolygon()::Ptr{GEOSGeometry}
2500+
end
2501+
23932502
function GEOSGeom_createCollection(type, geoms, ngeoms)
23942503
@ccall libgeos.GEOSGeom_createCollection(
23952504
type::Cint,
@@ -3224,11 +3333,11 @@ function GEOSEqualsIdentical(g1, g2)
32243333
@ccall libgeos.GEOSEqualsIdentical(g1::Ptr{GEOSGeometry}, g2::Ptr{GEOSGeometry})::Cchar
32253334
end
32263335

3227-
function GEOSRelatePattern(g1, g2, pat)
3336+
function GEOSRelatePattern(g1, g2, imPattern)
32283337
@ccall libgeos.GEOSRelatePattern(
32293338
g1::Ptr{GEOSGeometry},
32303339
g2::Ptr{GEOSGeometry},
3231-
pat::Cstring,
3340+
imPattern::Cstring,
32323341
)::Cchar
32333342
end
32343343

@@ -3238,8 +3347,8 @@ function GEOSRelate(g1, g2)
32383347
)
32393348
end
32403349

3241-
function GEOSRelatePatternMatch(mat, pat)
3242-
@ccall libgeos.GEOSRelatePatternMatch(mat::Cstring, pat::Cstring)::Cchar
3350+
function GEOSRelatePatternMatch(intMatrix, imPattern)
3351+
@ccall libgeos.GEOSRelatePatternMatch(intMatrix::Cstring, imPattern::Cstring)::Cchar
32433352
end
32443353

32453354
function GEOSRelateBoundaryNodeRule(g1, g2, bnr)
@@ -3348,6 +3457,25 @@ function GEOSPreparedWithin(pg1, g2)
33483457
)::Cchar
33493458
end
33503459

3460+
function GEOSPreparedRelate(pg1, g2)
3461+
string_copy_free(
3462+
@ccall(
3463+
libgeos.GEOSPreparedRelate(
3464+
pg1::Ptr{GEOSPreparedGeometry},
3465+
g2::Ptr{GEOSGeometry},
3466+
)::Cstring
3467+
)
3468+
)
3469+
end
3470+
3471+
function GEOSPreparedRelatePattern(pg1, g2, imPattern)
3472+
@ccall libgeos.GEOSPreparedRelatePattern(
3473+
pg1::Ptr{GEOSPreparedGeometry},
3474+
g2::Ptr{GEOSGeometry},
3475+
imPattern::Cstring,
3476+
)::Cchar
3477+
end
3478+
33513479
function GEOSPreparedNearestPoints(pg1, g2)
33523480
@ccall libgeos.GEOSPreparedNearestPoints(
33533481
pg1::Ptr{GEOSPreparedGeometry},
@@ -3822,21 +3950,21 @@ end
38223950

38233951
const GEOS_VERSION_MAJOR = 3
38243952

3825-
const GEOS_VERSION_MINOR = 12
3953+
const GEOS_VERSION_MINOR = 13
38263954

38273955
const GEOS_VERSION_PATCH = 0
38283956

3829-
const GEOS_VERSION = "3.12.0"
3957+
const GEOS_VERSION = "3.13.0"
38303958

38313959
const GEOS_JTS_PORT = "1.18.0"
38323960

38333961
const GEOS_CAPI_VERSION_MAJOR = 1
38343962

3835-
const GEOS_CAPI_VERSION_MINOR = 18
3963+
const GEOS_CAPI_VERSION_MINOR = 19
38363964

38373965
const GEOS_CAPI_VERSION_PATCH = 0
38383966

3839-
const GEOS_CAPI_VERSION = "3.12.0-CAPI-1.18.0"
3967+
const GEOS_CAPI_VERSION = "3.13.0-CAPI-1.19.0"
38403968

38413969
const GEOS_CAPI_FIRST_INTERFACE = GEOS_CAPI_VERSION_MAJOR
38423970

test/test_geos_functions.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ using Extents
1818
outputdim = 3,
1919
roundingprecision = 2,
2020
)
21-
@test writegeom(p, writer) == "POINT (0.12 2)"
21+
@test_broken writegeom(p, writer) == "POINT (0.12 2)" # Broken in GEOS 3.13.0 https://github.com/libgeos/geos/issues/1198
2222

2323
# round to 2 decimals and don't trim trailing zeros
2424
writer = LibGEOS.WKTWriter(

0 commit comments

Comments
 (0)