Point Clouds – the (re)start of a journey

If you have followed this blog for a while, you will notice a continual returning to and refinement of ideas and topics. That’s how the blog started, and this role it has served, as a touch stone in my exploration of topics is critical to how I use it. I hope it is useful to you too, as a reader. So, let’s talk about point … Continue reading Point Clouds – the (re)start of a journey

Yet another approach to ST_Buffer on geography

Another approach to ST_Buffer would be to subdivide the geometries before buffering, and put them all together at the end. ST_SubDivide can do this for us. We can tell it how may vertices we want in each geometry (minimum of 8). Since _ST_BestSRID will try UTM first, we’ll add enough nodes to ensure we always have 8 nodes within the 1,000,000 meter width of a … Continue reading Yet another approach to ST_Buffer on geography

ST_Buffer on Geography — Iteration

In my previous post, Imagico said: This is nice but still fails in one important aspect – it will create significant inaccuracies once your buffering distance reaches values where buffering in a single local coordinate system is getting problematic which, depending on your precision requirements, will likely happen at distances of a few degrees. A solution to this would require either an iterative split and … Continue reading ST_Buffer on Geography — Iteration

Final?: ST_Buffer on Geography, or My love for @NullIsland

Thanks to Paul Norman’s reminder in a previous post, we now have all the pieces we need to complete an ST_Buffer function that exposes all the wonderful goodness of buffer style parameters to geography users and also chooses the best local coordinate system automatically. We use _ST_BestSRID to choose our local coordinate system. Remember my previous three disadvantages: It didn’t do this at a low … Continue reading Final?: ST_Buffer on Geography, or My love for @NullIsland

ST_Buffer diving under the covers part 1

This will be a quick post. I just looked at how ST_Buffer is written in the PostGIS codebase, and I thought this was interesting. When you use ST_Buffer and specify geometry, buffer distance, and an integer value, this gets converted in the overloaded function into a quad_segs version. P.S. I would have written more, but Sherlock just started. Continue reading ST_Buffer diving under the covers part 1

ST_Buffer for those who want really want all buffer features in geography

My previous post on improving buffering geography in PostGIS has three disadvantages: It doesn’t do this at a low enough level to automatically use the best available local coordinate system. This leaves it to the user to choose the best available local coordinate system. I should fix this (but I probably won’t just now…). It uses a different function name than you otherwise use for buffering. … Continue reading ST_Buffer for those who want really want all buffer features in geography

ST_Buffer for those who want really round geographic circles

A little functionality request from @antoniolocandro on twitter: ST_buffer for geography has no option for quad_segs, alternative so buffer looks nice not jagged? cc @smathermather — Antonio Locandro (@antoniolocandro) January 8, 2016 Ask and ye might receive. Let’s build a function that will take your input geography, how far you want to buffer (in local coordinates) number of segments you want in a quarter, and … Continue reading ST_Buffer for those who want really round geographic circles

ST_ApproximateMedialAxis(geom)

Trying out PostGIS 2.2’s ST_ApproximateMedialAxis capabilities today. I’m going to use it to label parcels. So here is my parcel fabric: And here’s what the skeleton of that fabric looks like: It get’s pretty interesting where the parcels are more complicated: more: Oh, the code you say? Well, it couldn’t be much easier: SELECT gid, ST_ApproximateMedialAxis(geom) AS geom FROM cuy_parcel_2015; Or the full version for … Continue reading ST_ApproximateMedialAxis(geom)