Tracing golden monkeys through time

My collegue TUYISINGIZE Deogratias (“Deo) and others at Dian Fossey Gorilla Fund International have been studying golden monkeys (Cercopithecus kandti) in Rwanda. Golden monkeys are an endangered monkey along the Albertine Rift (including the Virungas, host to the endangered mountain gorilla). They are also cute as can be, but more on that another time. Deo has been leading efforts to track the golden monkeys in … Continue reading Tracing golden monkeys through time

A little Gorilla Time

I miss my mountain gorilla friends in Rwanda. Let’s write a little more code to support them. I’ll be visiting Karisoke again next week, so it seems timely to post a little more code (HT Jean Pierre Samedi Mucyo for working with me on this one). The problem today is simple — given a time series of gorilla locations and dates, can we calculate rate … Continue reading A little Gorilla Time

Using PostGIS for Hydrologic Modeling (reblog)

The Problem We have to filter out the roads and ditches without removing streams that cross roads or follow them closely. I’m going to use PostGIS to find the intersection of the streams lines data with a buffered roads polygon. If the intersected line is less than 50% of the length of the stream line, […] via Filtering Roads from Extracted Streams Data — GeoKota Continue reading Using PostGIS for Hydrologic Modeling (reblog)

Using foreign data wrapper to use PostGIS with SQLServer

Here was the problem that needed solved last week (we have a few similar problems in upcoming projects, so this was an exciting thing to try): we needed to use PostGIS to access data in a SQLServer database. The SQLServer database backs the web site in question, the underlying content management system, etc., so no– removing SQLServer isn’t really an option at this stage. Obviously … Continue reading Using foreign data wrapper to use PostGIS with SQLServer

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