Build1 distinct publisher3 min readUpdated
A survey ingest form offered two EPSG codes for one zone. One lands in Rajasthan and is caught in seconds. The other lands 427 metres away and is not.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
The Rajasthan result is worth working out by hand, because it explains why that class of mistake is cheap. Zone 7 carries a false easting of 7,500,000 metres [3]; the Slovenian grid carries 500,000 [4]. Feed a legitimate zone 7 easting of 7,457,000 into 8686 and you have declared the point 6,957,000 metres east of the 15th meridian [1]. PROJ does that arithmetic without complaint and hands back a longitude of 76.6 degrees [7]. The absurdity is in the input, and its size is what saves you.
The pair that survives once the label is corrected has no such property. According to the developer's dev.to write-up, 31277 and 3909 agree on central meridian, scale factor, false easting and ellipsoid; the only difference is that one names PROJ's built-in Hermannskogel datum while the other supplies an explicit three-parameter shift to WGS 84 [13]. Subtract the two published outputs and the disagreement is 0.005390 degrees of longitude against 0.000022 degrees of latitude [2]. At Belgrade's latitude that is about 426 metres east to west and roughly two and a half metres north to south [3]. So the 426.73 metre separation [14] is very nearly a pure sideways slide, which for a trajectory driven along a road is the least helpful geometry available: the line keeps its shape and its heading, holds a constant offset, and still reads as a survey.
The registry helped set the trap. The Balkans zone codes run 3907, 3908, 3909, 3910 for zones 5 through 8 [9], and the later 867x batch reissued zones 5, 6 and 8 but not 7, because 3909 already held it [10]. Someone scanning that numeric range for a modern zone 7 code finds a gap exactly where pattern matching expects a hit, surrounded by codes that are real, on the same datum family, and in the same corner of Europe [11]. Nothing about 8686 fails a plausibility check. Only the parameters distinguish it, and they say Slovenia [5].
Which is the transferable part. The text in a picker is a string someone typed once [2]; proj4text is what PROJ will actually execute [16]. Those two artefacts are maintained by different processes, and only one of them is under version control by the transformation engine. When they disagree, the map does not argue with you.
Note also that this dropdown cannot simply be collapsed to a single entry. 31277 and 3909 both legitimately describe Gauss-Kruger zone 7 [13], and 3909 is the correct modern code for the region [12], so a surveyor delivering data in the older Hermannskogel realisation needs the older code. The picker has to ask which datum the file was produced under, not which zone it is in. That is a harder question to put in a form label, and it is the one that carries the 427 metres.
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
The point (7457000, 4958000) interpreted as SRID 31277 transforms to POINT(20.456 44.765), which is Belgrade and correct.
The same point interpreted as SRID 8686 transforms to POINT(76.635 25.100), in Rajasthan, India, about 5,400 km off.
The correct code for Gauss-Kruger zone 7 in this region is EPSG:3909.
3909 (+lon_0=21 +k=0.9999 +x_0=7500000 +ellps=bessel +towgs84=682,-203,480,0,0,0,0) and 31277 (+lon_0=21 +k=0.9999 +x_0=7500000 +datum=hermannskogel) both describe Gauss-Kruger zone 7 with every projection parameter identical; the only difference is how the datum reaches WGS 84, an explicit three-parameter shift versus PROJ's built-in Hermannskogel datum.
The same input through 3909 gives POINT(20.451342 44.765252) and through 31277 gives POINT(20.456732 44.765230); the distance between them is 426.73 metres.
The system ingests mobile mapping surveys: LiDAR trajectories with spherical photos along them, driven along roads, arriving in whatever coordinate system the surveyor was working in.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Self-reported but locally reproducible
All technical assertions are backed by quoted spatial_ref_sys rows, PROJ parameter strings and ST_Transform outputs that any reader with PostGIS can re-run, which is unusually checkable for a single-source post. Nothing is independently corroborated, however: the 426.73 m distance, the Rajasthan result and the EPSG numbering gap all rest on one author's terminal output.
Zero real usage; fix confined to one codebase
The only adoption facts in the record are negative or narrow: the affected dropdown option was never exercised (all source-SRID values null) and the corrective change is a label/code edit in one private ingest pipeline. There is no evidence of other systems, teams or products adopting the recommended EPSG:3909 convention.
Slightly understated relative to evidence
The framing is unusually self-limiting for a bug write-up: the headline number is arithmetic the reader can reproduce, and the author volunteers that nobody had used the broken option. If anything the general lesson — that datum-only differences produce plausible, silently rendering offsets in accuracy-critical data — carries further than this one dropdown, while the piece keeps its claims local.
Author writing about own system; credibility cuts both ways
The post originates as promotion-adjacent content — the author says it grew out of a blog post about the architecture of a system he built — so there is an interest in appearing rigorous. That is partly offset by the disclosure being self-critical: he publishes his own defect, calls the mistake careless and names the cost to his confidence. No vendor, sponsorship or commercial product pitch appears in the source.
Technically solid, single-source and narrow in scope
Confidence is held mid-range: the EPSG and PROJ specifics are checkable and internally consistent, and the arithmetic follows from the quoted outputs, but the entire cluster is one publisher and one author's system, adoption evidence is essentially nil, and the generalisation about how the wrong code gets picked is a plausible narrative rather than a measured pattern.
build
Your .ai viewer is a pdf.js problem, and its worst bugs never throw1 distinct publisher
build
The NestJS default path puts the query inside the business rule, and nothing fails when it moves1 distinct publisher
build
The soft 404 that returns 200, declares lang=ar, and renders English1 distinct publisher
build
The capture returned HTTP 200. The file was a Cloudflare block page.1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 23, 2026