fix(extract): Mindestbreite gegen papierdünne und wandartige Gebäudegrundrisse

727 von 2.286 rohen Grundrissen (31,8 %, aber nur 1,8 % der bebauten Fläche) sind
unter 4 m an der kurzen Seite ihres gedrehten Hüllrechtecks — extrudiert werden
daraus Wände, keine Häuser. Eine Mindestbreite allein reicht nicht: einzelne Formen
bleiben bei >= 4 m Breite trotzdem extrem lang und dünn (z.B. 4,27 m x 153 m,
Verhältnis 35,9). MAX_ASPECT_RATIO=12 ergänzt die Mindestbreite MIN_BUILDING_WIDTH=4,
an einer echten Lücke in den gemessenen Verhältnissen festgemacht (größte plausible
große Grundfläche: Verhältnis 10,8 bei 7.196 m²; nächste eindeutig wandartige Form:
Verhältnis 12,0 bei 60,5 m²). Zusammen fallen 766 Grundrisse (33,5 %, 36.986 m² =
3,3 % der Fläche) weg.

Bestehende Fixture in test_small_staircase_building_is_not_dropped vergrößert (4x4-
auf 6x6-Block): ihre kurze Seite lag zufällig bei ~3,7 m, unter der neuen Schwelle,
und hätte den Test sonst für den falschen Grund bestehen lassen (Ruling 74 statt
Ruling 28).

Pipeline neu durchgelaufen: eindeutige Gebäude 2.282 -> 1.520 (-33,4 %), Dreiecke
über alle 144 Chunks 327.181 -> 307.678 (-6,0 %, vollständig aus der Gebäude-Ebene),
public/data/vice-a 2,73 M -> 2,50 M.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
knsoandClaude Sonnet 5 committed 2026-09-13 05:14:42 +02:00
1 parent ad9bf63b36
commit 30cf64642b
129 files changed
+205 -138

No files matched your search

+1 -1
View File
@@ -1 +1 @@
{"chunk":[10,4],"origin":[1500,-1500],"land":[[[[0.0,250.0],[0.0,0.0],[250.0,0.0],[250.0,250.0],[0.0,250.0]]]],"surfaces":[{"poly":[[[1.5,101.0],[2.0,1.5],[95.0,1.5],[102.5,78.0],[119.0,76.5],[120.0,78.5],[138.0,74.5],[152.5,75.0],[1.5,101.0]]],"kind":"urban"},{"poly":[[[243.5,152.0],[242.5,145.0],[236.0,72.5],[250.0,71.16],[250.0,85.95],[240.0,86.5],[244.5,141.0],[249.0,144.5],[250.0,144.47],[250.0,151.38],[243.5,152.0]]],"kind":"urban"},{"poly":[[[140.5,161.0],[134.5,92.0],[214.0,79.5],[222.5,153.0],[140.5,161.0]],[[205.0,151.5],[208.5,150.0],[209.0,145.5],[215.0,145.5],[216.5,143.0],[213.5,112.0],[142.0,118.5],[145.5,157.0],[205.0,151.5]]],"kind":"urban"},{"poly":[[[36.5,168.0],[33.0,109.5],[111.0,94.5],[117.5,95.0],[123.0,163.5],[39.0,171.5],[36.5,168.0]],[[116.0,161.5],[119.5,156.0],[114.5,111.0],[36.0,116.5],[39.5,163.0],[44.0,167.5],[116.0,161.5]]],"kind":"urban"},{"poly":[[[3.5,174.0],[7.5,168.0],[5.5,164.0],[14.5,162.0],[13.5,157.0],[17.5,156.0],[17.5,146.0],[14.5,123.0],[2.0,123.5],[1.5,116.0],[15.0,113.5],[20.5,172.0],[3.5,174.0]]],"kind":"urban"},{"poly":[[[246.0,167.5],[250.0,167.12],[250.0,210.88],[246.0,167.5]]],"kind":"urban"},{"poly":[[[141.5,173.0],[143.0,165.5],[218.0,158.5],[221.0,158.5],[223.5,163.0],[219.0,166.5],[171.0,169.5],[156.0,172.5],[147.0,171.5],[146.0,173.5],[141.5,173.0]]],"kind":"urban"},{"poly":[[[39.0,182.5],[37.5,177.0],[68.0,172.5],[100.0,171.5],[101.0,169.5],[111.0,168.5],[124.5,169.0],[124.0,175.5],[117.0,175.5],[116.0,172.5],[112.5,174.0],[115.5,175.0],[113.0,176.5],[39.0,182.5]]],"kind":"urban"},{"poly":[[[142.5,179.0],[223.0,170.5],[224.0,179.5],[217.0,176.5],[191.0,178.5],[188.0,183.5],[181.0,183.5],[179.0,180.5],[146.0,183.5],[144.5,195.0],[147.5,228.0],[149.0,234.5],[163.5,234.0],[164.63,250.0],[148.49,250.0],[142.5,179.0]]],"kind":"urban"},{"poly":[[[230.5,244.0],[227.5,235.0],[228.5,231.0],[226.5,211.0],[227.5,200.0],[232.53,250.0],[230.91,250.0],[230.5,244.0]]],"kind":"urban"},{"poly":[[[2.0,179.5],[21.5,178.0],[21.5,184.0],[19.0,185.5],[11.0,184.5],[2.0,187.5],[2.0,179.5]]],"kind":"urban"},{"poly":[[[98.88,250.0],[44.05,250.0],[38.5,188.0],[125.0,179.5],[128.5,207.0],[128.0,217.5],[125.5,193.0],[118.0,185.5],[111.0,185.5],[110.0,189.5],[106.0,189.5],[104.5,194.0],[99.0,196.5],[86.0,196.5],[82.0,190.5],[45.0,194.5],[41.5,203.0],[45.5,247.0],[69.5,245.0],[66.5,213.0],[73.0,211.5],[83.5,212.0],[85.0,225.5],[128.0,222.5],[129.0,217.5],[131.5,247.0],[98.88,250.0]]],"kind":"urban"},{"poly":[[[21.5,213.0],[17.5,201.0],[15.0,198.5],[2.0,198.5],[1.5,192.0],[6.0,191.5],[13.0,195.5],[14.5,193.0],[11.0,190.5],[22.0,189.5],[26.93,250.0],[25.5,250.0],[21.5,213.0]]],"kind":"urban"}],"roads":[{"poly":[[[227.5,2.0],[229.5,11.0],[228.5,13.0],[231.5,29.0],[231.5,38.0],[233.5,45.0],[233.5,56.0],[237.0,59.5],[250.0,58.63],[250.0,70.5],[248.0,70.5],[247.0,71.5],[237.0,72.5],[235.5,75.0],[236.5,92.0],[238.0,94.5],[241.5,95.0],[237.5,100.0],[238.5,102.0],[238.5,111.0],[243.5,116.0],[239.5,121.0],[240.5,122.0],[240.5,131.0],[242.5,137.0],[245.5,139.0],[242.5,142.0],[242.5,149.0],[246.0,152.5],[250.0,152.14],[250.0,166.83],[247.0,167.5],[245.5,170.0],[245.5,179.0],[246.5,180.0],[247.5,198.0],[249.5,203.0],[248.5,208.0],[250.0,212.5],[250.0,216.0],[249.5,218.0],[250.0,218.5],[250.0,250.0],[245.83,250.0],[248.5,246.0],[244.5,243.0],[242.0,235.5],[240.5,237.0],[240.5,241.0],[243.07,250.0],[232.79,250.0],[232.5,246.0],[227.5,240.0],[230.5,238.0],[231.5,232.0],[230.5,231.0],[230.5,223.0],[226.5,219.0],[228.5,218.0],[229.5,214.0],[228.5,213.0],[228.5,204.0],[226.5,199.0],[224.5,198.0],[226.5,193.0],[226.5,189.0],[223.5,186.0],[225.5,183.0],[225.5,175.0],[221.0,170.5],[202.0,171.5],[196.0,173.5],[193.0,172.5],[180.0,173.5],[176.0,175.5],[174.0,174.5],[160.0,175.5],[155.0,177.5],[148.0,176.5],[143.0,178.5],[141.5,181.0],[142.5,186.0],[145.5,188.0],[142.5,192.0],[146.5,196.0],[146.5,198.0],[143.5,201.0],[144.5,216.0],[148.5,220.0],[146.5,221.0],[145.5,226.0],[149.5,230.0],[150.5,233.0],[152.5,234.0],[148.0,235.5],[146.5,238.0],[147.54,250.0],[110.5,250.0],[111.0,249.5],[120.0,249.5],[130.0,247.5],[131.5,245.0],[130.5,225.0],[129.0,222.5],[125.5,221.0],[127.5,218.0],[126.5,215.0],[128.5,212.0],[128.5,201.0],[126.5,195.0],[123.5,193.0],[126.5,189.0],[125.5,181.0],[123.0,179.5],[118.0,179.5],[117.0,180.5],[96.0,181.5],[95.0,182.5],[64.0,184.5],[63.0,185.5],[54.0,185.5],[53.0,186.5],[43.0,186.5],[41.0,187.5],[38.5,191.0],[38.5,198.0],[43.5,205.0],[40.5,207.0],[39.5,210.0],[41.0,212.5],[44.5,214.0],[41.5,216.0],[40.5,219.0],[42.0,221.5],[45.5,222.0],[44.5,225.0],[45.5,227.0],[50.5,229.0],[47.5,231.0],[46.5,235.0],[42.5,239.0],[43.29,250.0],[25.83,250.0],[25.0,249.5],[21.5,250.0],[27.5,242.0],[26.5,232.0],[25.0,229.5],[21.5,229.0],[25.5,224.0],[24.5,220.0],[22.0,218.5],[20.5,219.0],[23.5,216.0],[24.5,213.0],[23.0,210.5],[21.0,209.5],[19.0,210.5],[17.5,208.0],[18.0,206.5],[20.0,207.5],[22.0,206.5],[23.5,204.0],[23.5,193.0],[22.5,191.0],[20.0,189.5],[14.0,189.5],[11.5,191.0],[11.0,194.5],[3.0,190.5]Line truncated
{"chunk":[10,4],"origin":[1500,-1500],"land":[[[[0.0,250.0],[0.0,0.0],[250.0,0.0],[250.0,250.0],[0.0,250.0]]]],"surfaces":[{"poly":[[[1.5,101.0],[2.0,1.5],[95.0,1.5],[102.5,78.0],[119.0,76.5],[120.0,78.5],[138.0,74.5],[152.5,75.0],[1.5,101.0]]],"kind":"urban"},{"poly":[[[243.5,152.0],[242.5,145.0],[236.0,72.5],[250.0,71.16],[250.0,85.95],[240.0,86.5],[244.5,141.0],[249.0,144.5],[250.0,144.47],[250.0,151.38],[243.5,152.0]]],"kind":"urban"},{"poly":[[[140.5,161.0],[134.5,92.0],[214.0,79.5],[222.5,153.0],[140.5,161.0]],[[205.0,151.5],[208.5,150.0],[209.0,145.5],[215.0,145.5],[216.5,143.0],[213.5,112.0],[142.0,118.5],[145.5,157.0],[205.0,151.5]]],"kind":"urban"},{"poly":[[[36.5,168.0],[33.0,109.5],[111.0,94.5],[117.5,95.0],[123.0,163.5],[39.0,171.5],[36.5,168.0]],[[116.0,161.5],[119.5,156.0],[114.5,111.0],[36.0,116.5],[39.5,163.0],[44.0,167.5],[116.0,161.5]]],"kind":"urban"},{"poly":[[[3.5,174.0],[7.5,168.0],[5.5,164.0],[14.5,162.0],[13.5,157.0],[17.5,156.0],[17.5,146.0],[14.5,123.0],[2.0,123.5],[1.5,116.0],[15.0,113.5],[20.5,172.0],[3.5,174.0]]],"kind":"urban"},{"poly":[[[246.0,167.5],[250.0,167.12],[250.0,210.88],[246.0,167.5]]],"kind":"urban"},{"poly":[[[141.5,173.0],[143.0,165.5],[218.0,158.5],[221.0,158.5],[223.5,163.0],[219.0,166.5],[171.0,169.5],[156.0,172.5],[147.0,171.5],[146.0,173.5],[141.5,173.0]]],"kind":"urban"},{"poly":[[[39.0,182.5],[37.5,177.0],[68.0,172.5],[100.0,171.5],[101.0,169.5],[111.0,168.5],[124.5,169.0],[124.0,175.5],[117.0,175.5],[116.0,172.5],[112.5,174.0],[115.5,175.0],[113.0,176.5],[39.0,182.5]]],"kind":"urban"},{"poly":[[[142.5,179.0],[223.0,170.5],[224.0,179.5],[217.0,176.5],[191.0,178.5],[188.0,183.5],[181.0,183.5],[179.0,180.5],[146.0,183.5],[144.5,195.0],[147.5,228.0],[149.0,234.5],[163.5,234.0],[164.63,250.0],[148.49,250.0],[142.5,179.0]]],"kind":"urban"},{"poly":[[[230.5,244.0],[227.5,235.0],[228.5,231.0],[226.5,211.0],[227.5,200.0],[232.53,250.0],[230.91,250.0],[230.5,244.0]]],"kind":"urban"},{"poly":[[[2.0,179.5],[21.5,178.0],[21.5,184.0],[19.0,185.5],[11.0,184.5],[2.0,187.5],[2.0,179.5]]],"kind":"urban"},{"poly":[[[98.88,250.0],[44.05,250.0],[38.5,188.0],[125.0,179.5],[128.5,207.0],[128.0,217.5],[125.5,193.0],[118.0,185.5],[111.0,185.5],[110.0,189.5],[106.0,189.5],[104.5,194.0],[99.0,196.5],[86.0,196.5],[82.0,190.5],[45.0,194.5],[41.5,203.0],[45.5,247.0],[69.5,245.0],[66.5,213.0],[73.0,211.5],[83.5,212.0],[85.0,225.5],[128.0,222.5],[129.0,217.5],[131.5,247.0],[98.88,250.0]]],"kind":"urban"},{"poly":[[[21.5,213.0],[17.5,201.0],[15.0,198.5],[2.0,198.5],[1.5,192.0],[6.0,191.5],[13.0,195.5],[14.5,193.0],[11.0,190.5],[22.0,189.5],[26.93,250.0],[25.5,250.0],[21.5,213.0]]],"kind":"urban"}],"roads":[{"poly":[[[227.5,2.0],[229.5,11.0],[228.5,13.0],[231.5,29.0],[231.5,38.0],[233.5,45.0],[233.5,56.0],[237.0,59.5],[250.0,58.63],[250.0,70.5],[248.0,70.5],[247.0,71.5],[237.0,72.5],[235.5,75.0],[236.5,92.0],[238.0,94.5],[241.5,95.0],[237.5,100.0],[238.5,102.0],[238.5,111.0],[243.5,116.0],[239.5,121.0],[240.5,122.0],[240.5,131.0],[242.5,137.0],[245.5,139.0],[242.5,142.0],[242.5,149.0],[246.0,152.5],[250.0,152.14],[250.0,166.83],[247.0,167.5],[245.5,170.0],[245.5,179.0],[246.5,180.0],[247.5,198.0],[249.5,203.0],[248.5,208.0],[250.0,212.5],[250.0,216.0],[249.5,218.0],[250.0,218.5],[250.0,250.0],[245.83,250.0],[248.5,246.0],[244.5,243.0],[242.0,235.5],[240.5,237.0],[240.5,241.0],[243.07,250.0],[232.79,250.0],[232.5,246.0],[227.5,240.0],[230.5,238.0],[231.5,232.0],[230.5,231.0],[230.5,223.0],[226.5,219.0],[228.5,218.0],[229.5,214.0],[228.5,213.0],[228.5,204.0],[226.5,199.0],[224.5,198.0],[226.5,193.0],[226.5,189.0],[223.5,186.0],[225.5,183.0],[225.5,175.0],[221.0,170.5],[202.0,171.5],[196.0,173.5],[193.0,172.5],[180.0,173.5],[176.0,175.5],[174.0,174.5],[160.0,175.5],[155.0,177.5],[148.0,176.5],[143.0,178.5],[141.5,181.0],[142.5,186.0],[145.5,188.0],[142.5,192.0],[146.5,196.0],[146.5,198.0],[143.5,201.0],[144.5,216.0],[148.5,220.0],[146.5,221.0],[145.5,226.0],[149.5,230.0],[150.5,233.0],[152.5,234.0],[148.0,235.5],[146.5,238.0],[147.54,250.0],[110.5,250.0],[111.0,249.5],[120.0,249.5],[130.0,247.5],[131.5,245.0],[130.5,225.0],[129.0,222.5],[125.5,221.0],[127.5,218.0],[126.5,215.0],[128.5,212.0],[128.5,201.0],[126.5,195.0],[123.5,193.0],[126.5,189.0],[125.5,181.0],[123.0,179.5],[118.0,179.5],[117.0,180.5],[96.0,181.5],[95.0,182.5],[64.0,184.5],[63.0,185.5],[54.0,185.5],[53.0,186.5],[43.0,186.5],[41.0,187.5],[38.5,191.0],[38.5,198.0],[43.5,205.0],[40.5,207.0],[39.5,210.0],[41.0,212.5],[44.5,214.0],[41.5,216.0],[40.5,219.0],[42.0,221.5],[45.5,222.0],[44.5,225.0],[45.5,227.0],[50.5,229.0],[47.5,231.0],[46.5,235.0],[42.5,239.0],[43.29,250.0],[25.83,250.0],[25.0,249.5],[21.5,250.0],[27.5,242.0],[26.5,232.0],[25.0,229.5],[21.5,229.0],[25.5,224.0],[24.5,220.0],[22.0,218.5],[20.5,219.0],[23.5,216.0],[24.5,213.0],[23.0,210.5],[21.0,209.5],[19.0,210.5],[17.5,208.0],[18.0,206.5],[20.0,207.5],[22.0,206.5],[23.5,204.0],[23.5,193.0],[22.5,191.0],[20.0,189.5],[14.0,189.5],[11.5,191.0],[11.0,194.5],[3.0,190.5]Line truncated