Peter Stace

Results 68 issues of Peter Stace

The benchmarks have dependencies on a particular version of GEOS. Rather than requiring developers to install that version of GEOS, the benchmarks should be dockerized instead.

https://postgis.net/docs/ST_ConcaveHull.html Concave Hull is available in GEOS, however it's not available in the C wrapper (it's only available via C++). We may have to write our own C wrapper.

geos

A LERP function is defined here: https://github.com/peterstace/simplefeatures/blob/master/geom/alg_linear_interpolation.go#L55 ``` func lerp(a, b, ratio float64) float64 { return a + ratio*(b-a) } ``` I ran into the following article, which shares some...

good first issue
improve

- Add new methods `RemoveRepeatedPoints() T` to `MultiPoint`, `LineString`, `MultiLineString`, `Polygon`, `MultiPolygon`, `GeometryCollection` and `Geometry`. `T` should be the type that the method is implemented on. - We don't need...

feature
algorithm

`MakeValid` is an operation that exists both in PostGIS and GEOS. It basically accepts an invalid geometry as input, and then "makes it valid" by returning a different geometry that...

feature

Currently, the error messages for invalid polygons aren't great. E.g. `polygon ring not simple`. Ideally we should give the coordinates _when_ the ring is self intersecting. We should also examine...

improve

We have regular simplify, but not the topological preserve variant. It may come in handy.

improve
geos

In `type_geometry.go`, there are lots of places where we perform a switch statement on the geometry type, grab out the concrete geometry, and then perform some action on it. _Usually_,...

E.g. the following WKT parses as valid: `GEOMETRYCOLLECTION M(POINT Z(1 2 0))`. But it's not internally consistent with respect to coordinate type (Z vs M). We should give an error...

bug
good first issue