geo-polygonize 0.42.0 → 0.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -24,27 +24,37 @@ For an ambitious, prioritized plan covering performance, security, API consisten
|
|
|
24
24
|
### Library
|
|
25
25
|
|
|
26
26
|
```rust
|
|
27
|
-
use geo_polygonize_core::{
|
|
28
|
-
use
|
|
27
|
+
use geo_polygonize_core::{polygonize_line_strings, PolygonizerOptions};
|
|
28
|
+
use geo_types::LineString;
|
|
29
29
|
|
|
30
30
|
fn main() {
|
|
31
|
-
let
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
let result =
|
|
31
|
+
let ring = LineString::from(vec![
|
|
32
|
+
(0.0, 0.0),
|
|
33
|
+
(10.0, 0.0),
|
|
34
|
+
(10.0, 10.0),
|
|
35
|
+
(0.0, 10.0),
|
|
36
|
+
(0.0, 0.0),
|
|
37
|
+
]);
|
|
38
|
+
|
|
39
|
+
let result = polygonize_line_strings([&ring], &PolygonizerOptions::default())
|
|
40
40
|
.expect("Polygonization failed");
|
|
41
|
+
let polygons = result.into_multi_polygon();
|
|
41
42
|
|
|
42
|
-
for polygon in
|
|
43
|
-
println!("Found polygon
|
|
43
|
+
for polygon in polygons {
|
|
44
|
+
println!("Found polygon: {polygon:?}");
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
```
|
|
47
48
|
|
|
49
|
+
`polygonize_line_strings` accepts owned or borrowed `geo_traits::LineStringTrait`
|
|
50
|
+
values. Use `polygonize` when source IDs or Z values must be supplied explicitly,
|
|
51
|
+
and keep its full result when dangles, cut edges, invalid rings, or diagnostics are
|
|
52
|
+
needed.
|
|
53
|
+
|
|
54
|
+
Rust consumers should import the supported facade from the crate root. Graph,
|
|
55
|
+
noding, containment, utility, mutable-builder, and tiled APIs are internal or
|
|
56
|
+
experimental and may change without compatibility guarantees before `1.0`.
|
|
57
|
+
|
|
48
58
|
### Choosing noding and precision
|
|
49
59
|
|
|
50
60
|
Polygonization quality is heavily influenced by input noding strategy.
|
|
@@ -149,6 +159,10 @@ The default return shape is a stable dictionary with `polygons` as
|
|
|
149
159
|
`SimplePolygon` values. Use `return_polygons=True` only when you want Shapely
|
|
150
160
|
`Polygon` objects.
|
|
151
161
|
|
|
162
|
+
When provenance is enabled, coincident and partially overlapping input lines
|
|
163
|
+
are dissolved into one topology edge while every contributing nonzero
|
|
164
|
+
`line_id` remains in the polygon's sorted `boundary_line_ids`.
|
|
165
|
+
|
|
152
166
|
`SnapStrategy::Grid` keeps topology and output coordinates on a configured
|
|
153
167
|
fixed precision grid. The CFB profile uses `GeosCompat`: the grid establishes robust
|
|
154
168
|
topology, then output nodes regain deterministic source coordinates to better
|
package/dist/geo_polygonize.wasm
CHANGED
|
Binary file
|
|
Binary file
|