danvk / danvk/mapsnap

Score's land proxy over-weights 1950 water/fill that was later developed

Open
#166 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
12
Forks
2
Avg merge
13h 21m
Merged PRs (30d)
98

Description

The score metric weights each truth page by its land area, with "land" approximated by street proximity: a footprint grid point counts if it is within 120 m of a modern OSM centerline vertex. The rationale is "streets only exist on usable land" — but modern streets also exist on land that was water, marsh, or rail/fill in the map's era, so pages the metric was designed to deemphasize can get nearly full weight.

Measured on Hudson's waterfront sheets (2026-07-27, snap-refine @ 71.7)

p84–p89 cover the Jersey City waterfront that is today Liberty State Park / Port Liberté — landfilled and street-gridded after 1950:

page area land frac agg pts forgone 1950 sheet content
p84 28.4 ha 0.82 0.22 rail yards, tank farms — "SOLID FILL" printed on the sheet
p85 16.9 ha 0.79 0.13 mostly New York Bay; Black Tom island, piers
p88 23.6 ha 0.62 0.14 Caven Point rail/waterfront
p87 28.4 ha 0.47 0.13 Morris Canal, marsh, open water
p89 39.5 ha 0.17 0.07 almost entirely bay (works as intended)

All five are unplaced; together they carry 0.69 aggregate points (9.5% of Hudson's land, a quarter of its 2.94 unplaced points) — phantom obligation on sheets with little or nothing to georeference. Hudson's p92__1 (273.7 ha at frac 0.38, the corpus's largest unplaced item) is likely inflated the same way, and other waterfront volumes (Brooklyn) deserve the same audit.

Candidate fix

Weight by the truth sheet's own 1950 content: developed-ink density (colored building blocks) over the footprint grid, mapped through the truth transform. Truth-only, stable across runs, and immune to subsequent development by construction — p84's grid points land on blank paper and rail linework, not pink/yellow blocks. Could replace the street proxy or be ANDed with it (count a point only if near a modern street and on developed 1950 ink).

Needs calibration before adopting: rail yards and tank farms are insurable content Sanborn drew deliberately, so "developed ink" must be defined so legitimate industrial sheets don't zero out. Re-run the 12-volume table under the new weighting and compare per-volume movement (Hudson, Brooklyn, and the NO volumes should move most; inland volumes should be nearly unchanged).

🤖 Generated with Claude Code

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the score metric's street-proximity land weighting and the truth-sheet transform or footprint-grid code. Compare the existing proxy with developed-ink density on the Hudson examples, then rerun the 12-volume table for Hudson, Brooklyn, and NO volumes. Done means the weighting is calibrated without zeroing legitimate rail yards or tank farms, with inland volumes nearly unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.