Opened 6 years ago

Closed 4 years ago

Last modified 4 years ago

#2259 closed enhancement (fixed)

ST_Voronoi

Reported by: robe Owned by: strk
Priority: medium Milestone: PostGIS 2.3.0
Component: postgis Version: trunk
Keywords: history Cc: darkblueb

Description

Once Voronoi is ported from JTS to GEOS http://trac.osgeo.org/geos/ticket/627 then this should be done to expose it in PostGIS

Change History (16)

comment:1 Changed 6 years ago by robe

Owner: changed from pramsey to strk
Type: defectenhancement

comment:2 Changed 5 years ago by m4farrel

Hi,

Anyone working on this currently?

Would be very useful to have for manipulation of some bathymetric data I'm currently working with.

comment:3 Changed 5 years ago by strk

Nobody working on this. I've recently tweaked the GEOS interface to fix the linear return and adding a bounding extent. I think the API is stable now, do you want to start with the PostGIS side of it ?

comment:4 Changed 5 years ago by m4farrel

The task seems quite daunting to me, though I'd find contributing to PostGIS interesting.

I'm currently a student intern, so I've emailed my mentor to see if it would be appropriate to try to work on this. My software for the project I'm working on is written in Scala: I was also thinking about just using Geotools and the JTS Topology Suite to bake my data into the format that I desire.

Concerning the Voronoi builder implemented in GEOS, do you know if ST_Voronoi would be appropriate for use on sets containing ~2,000,000-10,000,000 point sites?

comment:5 Changed 5 years ago by strk

I suspect that amount of points might require more RAM than available,but you can test that easily by providing such a big input in WKT or WKB format and feeding it to the voronoi diagram builder via the PHP binding, look here: https://github.com/libgeos/libgeos/blob/40c117aa088b084ee0f40b4333d63d4fd0acad56/php/test/test.php#L2046

comment:6 Changed 4 years ago by dbaston

strk - I can tackle this one if you want.

comment:7 Changed 4 years ago by strk

dbaston, sure, be my guest !

comment:8 Changed 4 years ago by robe

Cc: darkblueb added

dbaston,

You might want to talk to darkblueb (Brian Hamlin) to see how far he got with this. As I recall he had a patch raring to go but was too late for PostGIS 2.2 cut.

comment:9 Changed 4 years ago by robe

comment:10 Changed 4 years ago by dbaston

darkblueb - can you let me know if you're planning to work more on this? If not, I can pick up where you left off.

comment:11 Changed 4 years ago by robe

For completeness, added dbaston's ST_Voronoi and darkblue_b

dbaston

https://github.com/dbaston/postgis/tree/trac-2259

darkblue_b

https://github.com/darkblue-b/postgis/commit/42e338462e8d1c717067a2a304e010caca0d3dd5

At a spot check dbaston's looks further along than darkblue_b and uses the new interator construct for 2.3. all missing in dbaston is the user facing documentation which I'm willing to do.

darkblue_b is missing c-unit tests, postgresql tests, make file changes and uses old structure.

Really sorry about this mixup. I think for future we need to make sure people note on tickets that they are working on something so there is no overlap of effort.

comment:12 Changed 4 years ago by dbaston

PR at https://github.com/postgis/postgis/pull/73

FWIW, I don't think there's anything intrinsically good about using the iterator construct for this, it was just a convenient way to do the GEOS LineString? hack, whose own merits could be debated.

comment:13 Changed 4 years ago by robe

Milestone: PostGIS GEOSPostGIS 2.3.0

comment:14 Changed 4 years ago by dbaston

Resolution: fixed
Status: newclosed

Committed to trunk at r14467.

comment:15 Changed 4 years ago by robe

Keywords: history added

Dan,

As a rule, all new features should go in the NEWS file. Just remember for future reference.

committed to news file at r14469

comment:16 Changed 4 years ago by robe

(In [14505]) Add examples for ST_Voronoi references #2259

Note: See TracTickets for help on using tickets.