§ Overview
An internal validation tool for a livestock and aquaculture feed producer. It audits a customer location database against high resolution satellite imagery, classifying each coordinate as a poultry barn, aquaculture pond, general building, or farmland within a 150 m radius, and flags the records that do not sit on a real facility.
§ Key features
- 01Reads the coordinate list straight from the client’s own CSV or Excel export, with no reformatting first
- 02Three satellite views per coordinate, from close detail out to the surrounding landscape
- 03A two stage check over a 150 m radius: what the facility is, then whether this exact pin lands on it
- 04An estimated facility position drawn on the map, joined to the recorded pin by a dashed line when the two disagree
- 05A region check against the regency and province recorded in the file, and a cross check against public map listings
- 06Every verdict carries the reason behind it, exported row by row as a spreadsheet the client’s own staff can read
- 07A correction file that lets a human override a verdict while keeping the original reading on record
§ Challenges & solutions
Most of the work was measurement rather than guesswork. Telling a pond from a flooded field by colour does not work, because their mean brightness differs by about two grey levels, so the rule was rewritten around surface texture once that was measured: water varies by roughly 7 to 11 grey levels across the surface, wet field by 26 to 38. A second failure was subtler. The wide view would read as full of aquaculture, and a pond would then be reported close to the pin that was not actually there. That only became visible after drawing distance rings on the rendered frames and finding the real ponds 150 to 350 m away. Imagery resolution decided which source to use: at 0.6 m per pixel a market reads as a row of barns, at 0.2 m per pixel it reads correctly, and no amount of rewording fixed it. Because a single pass flips roughly one row in four on the borderline cases, every change was judged on repeated runs rather than on one result.