Factual Blog / Tagged:


A Day in the Life of a Factual Engineer: Polygon Compression

In this series of blog posts, Factual’s blog team asked engineers to describe what a typical day looks like. Background Chris Bleakley, our resident polygon and Lucene expert, had written meticulous documentation about the problem he was solving. The first paragraph read: “Because search times are dominated by the cost of deserializing JTS objects from when...

How Geohashes Work

We use geohashes all the time at Factual, so one day I got curious and read through the canonical Java implementation to figure out exactly how they work. It was an enlightening read, but along the way I encountered some unfortunate bits of coding horror that got me wondering about the fastest way to encode and decode geohashes. The geohash...

The Flotsam Project: Insanely Fast Floating-Point Number Serialization for Java and Javascript

At Factual, we have a lot of geospatial data that we want to send to a browser. It’s often possible to use polygons or images to transmit this data efficiently, but a couple of weeks ago we ran into a case where we needed a floating-point quantity for each map tile pixel. We started by sending...