Extracting a geometric fingerprint
A developer described on August 19, 2026 how a resort photograph was turned into a large-scale geolocation search without relying on an image-recognition service. The challenge asked for the resort, island coordinates and camera direction. With no useful metadata and no reliable estimate of the drone’s elevation, the author focused on the relative geometry of three visible landmasses.
A small graphical tool recorded manually selected pixel coordinates and calculated the angle and distance ratio formed by the three islands. Because clicking estimated centers is imprecise, the search allowed a tolerance of plus or minus 20% around those measurements. That rough triangle became the image’s geographic fingerprint.
The world dataset was OpenStreetMap’s split land-polygon collection in WGS84, occupying 882MB. A tropical latitude filter reduced the pool to 141,131 polygons before more expensive calculations. Further heuristics rejected dense coastal or reef areas with more than 10 nearby centroids within five kilometres and retained points belonging to clusters of at least three landmasses within 20 kilometres.
Candidate clusters were capped at 60 points to contain combinatorial growth. Sampling preserved a mixture of small, medium and large islands. Even with that restriction, 23,500 clusters generated 80,690,777 possible triangles.
One CUDA thread per triangle
The author assigned each triple to a CUDA thread. Within a thread, islands were sorted by land area, with the smallest treated as the possible resort islet. A two-dimensional cross product established the ordering of the other two points. The program then calculated the angle at the smallest island and the ratio between two side lengths.
Triangles survived only when their geometry, island size, separation and side lengths fell inside the chosen tolerance windows. The parallel pass reduced more than 80 million triples to 158,784 raw matches. Duplicate instances caused by overlapping clusters were then collapsed.
An open-water test provided another reduction. The program constructed a rectangle beside one triangle edge, on the side away from the third island, and rejected candidates containing additional land. That check was intended to match the unobstructed water visible in the photograph and left 948 possibilities.
The final shape filters concentrated on the smallest island. A Polsby-Popper compactness score below 0.5 was rejected, as were candidates lacking a nearby fragment smaller than 0.05 square kilometres. Minimum rotated rectangles constrained aspect ratio to between 1.05 and 2.2. A fill threshold of about 0.589 favored solid, rounded cay-like outlines over crescents or highly notched shapes.
The account then moved to a network-bound satellite-imagery stage using Element84’s Earth Search service. Its significance lies less in a single lookup than in the pipeline: human visual estimates created a noisy fingerprint, inexpensive geographic filters reduced the planet, and GPU parallelism made an otherwise unwieldy triangle comparison tractable.


