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":[2,7],"origin":[-500,-750],"land":[[[[0.0,250.0],[0.0,0.0],[250.0,0.0],[250.0,250.0],[0.0,250.0]]]],"surfaces":[{"poly":[[[198.0,143.5],[155.0,130.5],[90.5,126.0],[99.5,66.0],[98.66,0.0],[113.22,0.0],[113.5,1.0],[119.5,5.0],[108.5,27.0],[109.5,32.0],[112.5,33.0],[112.5,51.0],[115.5,52.0],[121.0,63.5],[128.0,64.5],[148.0,64.5],[157.0,59.5],[162.0,61.5],[172.5,54.0],[176.29,0.0],[206.61,0.0],[199.0,40.5],[250.0,51.24],[250.0,145.86],[198.0,143.5]]],"kind":"urban"},{"poly":[[[1.5,61.0],[2.0,52.5],[6.0,52.5],[11.0,56.5],[55.0,59.5],[59.0,51.5],[70.0,49.5],[74.5,44.0],[73.0,34.5],[63.0,34.5],[57.5,41.0],[57.0,45.5],[44.0,43.5],[39.5,41.0],[40.5,32.0],[36.5,27.0],[36.5,22.0],[41.5,10.0],[50.63,0.0],[77.0,0.0],[77.0,67.5],[1.5,61.0]]],"kind":"urban"},{"poly":[[[2.0,124.5],[1.5,76.0],[75.0,80.5],[69.0,125.5],[2.0,124.5]]],"kind":"urban"},{"poly":[[[6.0,142.5],[2.0,141.5],[1.5,138.0],[52.0,137.5],[65.0,138.5],[65.0,142.5],[83.0,143.5],[86.0,143.5],[88.0,139.5],[115.0,139.5],[151.0,142.5],[166.0,146.5],[6.0,142.5]]],"kind":"urban"},{"poly":[[[167.0,162.5],[1.5,156.0],[159.0,159.5],[250.0,165.34],[250.0,169.26],[167.0,162.5]]],"kind":"urban"},{"poly":[[[79.0,177.5],[78.0,173.5],[58.0,173.5],[56.0,176.5],[10.0,175.5],[2.0,174.5],[1.5,171.0],[87.0,172.5],[143.5,176.0],[79.0,177.5]]],"kind":"urban"},{"poly":[[[60.5,247.0],[71.5,207.0],[80.0,207.5],[83.5,202.0],[82.5,198.0],[75.5,194.0],[76.0,190.5],[136.0,189.5],[167.0,185.5],[199.0,184.5],[250.0,189.31],[250.0,213.5],[230.0,213.5],[209.0,200.5],[187.0,195.5],[172.0,196.5],[154.0,201.5],[140.0,209.5],[129.5,220.0],[115.0,247.5],[60.5,247.0]]],"kind":"urban"},{"poly":[[[24.5,233.0],[31.5,211.0],[35.5,206.0],[39.5,189.0],[53.0,189.5],[41.0,234.5],[24.5,233.0]]],"kind":"urban"},{"poly":[[[37.0,244.5],[41.0,246.5],[46.0,244.5],[52.0,246.5],[55.0,244.5],[58.93,250.0],[33.07,250.0],[37.0,244.5]]],"kind":"urban"}],"roads":[{"poly":[[[196.0,184.5],[195.0,183.5],[169.0,184.5],[160.0,186.5],[152.0,186.5],[142.0,188.5],[127.0,188.5],[126.0,189.5],[124.0,188.5],[123.0,189.5],[78.0,189.5],[75.5,191.0],[74.5,197.0],[71.5,202.0],[74.5,205.0],[71.5,207.0],[68.5,214.0],[67.5,221.0],[59.5,246.0],[61.5,249.0],[61.17,250.0],[59.5,250.0],[57.0,246.5],[47.0,244.5],[35.0,246.5],[32.5,250.0],[0.0,250.0],[0.0,232.3],[4.0,235.5],[22.0,235.5],[25.0,232.5],[28.0,235.5],[39.0,235.5],[41.0,234.5],[53.5,195.0],[52.5,190.0],[50.0,188.5],[4.0,186.5],[1.0,189.5],[0.0,189.5],[0.0,177.11],[11.0,176.5],[54.0,179.5],[60.5,184.0],[63.5,192.0],[63.0,197.5],[67.5,185.0],[70.0,182.5],[78.0,179.5],[126.0,179.5],[169.0,174.5],[195.0,173.5],[250.0,177.79],[250.0,188.05],[196.0,184.5]]],"bridge":false},{"poly":[[[53.0,125.5],[54.0,126.5],[67.0,126.5],[69.5,125.0],[71.5,119.0],[72.5,105.0],[73.5,104.0],[75.5,84.0],[76.5,83.0],[73.0,79.5],[23.0,76.5],[22.0,75.5],[8.0,75.5],[7.0,74.5],[0.0,74.5],[0.0,61.74],[75.5,68.0],[78.5,65.0],[78.5,47.0],[77.0,44.5],[72.5,44.0],[72.5,40.0],[75.0,40.5],[78.5,37.0],[78.5,0.0],[98.5,0.0],[98.5,53.0],[99.5,54.0],[98.5,55.0],[98.5,61.0],[99.5,62.0],[98.5,63.0],[98.5,70.0],[97.5,71.0],[97.5,77.0],[96.5,78.0],[96.5,84.0],[95.5,85.0],[95.5,91.0],[94.5,92.0],[94.5,98.0],[93.5,99.0],[93.5,105.0],[90.5,120.0],[91.5,126.0],[94.0,127.5],[132.0,128.5],[133.0,129.5],[157.0,131.5],[179.0,137.5],[191.0,143.5],[200.0,143.5],[201.0,144.5],[250.0,146.66],[250.0,156.53],[191.0,153.5],[166.0,143.5],[142.0,139.5],[142.5,143.0],[139.5,151.0],[133.0,155.5],[89.0,155.5],[81.0,152.5],[76.5,146.0],[76.5,138.0],[78.5,134.0],[82.5,131.0],[80.0,123.5],[77.5,131.0],[73.5,134.0],[75.5,141.0],[72.5,149.0],[70.0,151.5],[62.0,154.5],[12.0,152.5],[5.5,148.0],[2.5,140.0],[3.0,135.5],[0.0,135.58],[0.0,125.5],[53.0,125.5]],[[129.0,139.5],[89.0,138.5],[85.5,142.0],[89.0,145.5],[129.5,146.0],[132.5,143.0],[129.0,139.5]],[[62.0,137.5],[16.0,136.5],[12.5,140.0],[16.0,143.5],[62.5,144.0],[65.5,141.0],[62.0,137.5]]],"bridge":false},{"poly":[[[195.0,173.5],[169.0,174.5],[126.0,179.5],[78.0,179.5],[70.0,182.5],[67.5,185.0],[63.0,197.5],[63.5,192.0],[60.5,184.0],[54.0,179.5],[11.0,176.5],[0.0,177.11],[0.0,135.58],[3.0,135.5],[2.5,140.0],[5.5,148.0],[12.0,152.5],[62.0,154.5],[70.0,151.5],[72.5,149.0],[75.5,141.0],[73.5,134.0],[77.5,131.0],[80.0,123.5],[82.5,131.0],[78.5,134.0],[76.5,138.0],[76.5,146.0],[81.0,152.5],[89.0,155.5],[133.0,155.5],[139.5,151.0],[142.5,143.0],[142.0,139.5],[166.0,143.5],[191.0,153.5],[250.0,156.53],[250.0,177.79],[195.0,173.5]]],"bridge":false},{"poly":[[[1.0,51.5],[0.0,51.5],[0.0,27.5],[1.5,30.0],[0.5,32.0],[1.5,36.0],[0.5,41.0],[2.0,43.5],[9.5,48.0],[8.0,52.5],[4.0,48.5],[1.0,51.5]]],"bridge":false},{"poly":[[[1.5,2.0],[0.0,8.0],[0.0,0.0],[2.83,0.0],[1.5,2.0]]],"bridge":false},{"poly":[[[161.5,5.0],[163.0,0.5],[164.0,2.5],[167.5,3.0],[168.5,6.0],[167.0,8.5],[165.0,5.5],[161.5,5.0]]],"bridge":false},{"poly":[[[125.5,9.0],[124.0,1.5],[128.5,5.0],[129.0,9.5],[128.0,8.5],[125.5,9.0]]],"bridge":false},{"poly":[[[167.5,14.0],[166.5,10.0],[170.0,12.5],[174.0,8.5],[174.5,13.0],[171.0,16.5],[170.0,15Line truncated
{"chunk":[2,7],"origin":[-500,-750],"land":[[[[0.0,250.0],[0.0,0.0],[250.0,0.0],[250.0,250.0],[0.0,250.0]]]],"surfaces":[{"poly":[[[198.0,143.5],[155.0,130.5],[90.5,126.0],[99.5,66.0],[98.66,0.0],[113.22,0.0],[113.5,1.0],[119.5,5.0],[108.5,27.0],[109.5,32.0],[112.5,33.0],[112.5,51.0],[115.5,52.0],[121.0,63.5],[128.0,64.5],[148.0,64.5],[157.0,59.5],[162.0,61.5],[172.5,54.0],[176.29,0.0],[206.61,0.0],[199.0,40.5],[250.0,51.24],[250.0,145.86],[198.0,143.5]]],"kind":"urban"},{"poly":[[[1.5,61.0],[2.0,52.5],[6.0,52.5],[11.0,56.5],[55.0,59.5],[59.0,51.5],[70.0,49.5],[74.5,44.0],[73.0,34.5],[63.0,34.5],[57.5,41.0],[57.0,45.5],[44.0,43.5],[39.5,41.0],[40.5,32.0],[36.5,27.0],[36.5,22.0],[41.5,10.0],[50.63,0.0],[77.0,0.0],[77.0,67.5],[1.5,61.0]]],"kind":"urban"},{"poly":[[[2.0,124.5],[1.5,76.0],[75.0,80.5],[69.0,125.5],[2.0,124.5]]],"kind":"urban"},{"poly":[[[6.0,142.5],[2.0,141.5],[1.5,138.0],[52.0,137.5],[65.0,138.5],[65.0,142.5],[83.0,143.5],[86.0,143.5],[88.0,139.5],[115.0,139.5],[151.0,142.5],[166.0,146.5],[6.0,142.5]]],"kind":"urban"},{"poly":[[[167.0,162.5],[1.5,156.0],[159.0,159.5],[250.0,165.34],[250.0,169.26],[167.0,162.5]]],"kind":"urban"},{"poly":[[[79.0,177.5],[78.0,173.5],[58.0,173.5],[56.0,176.5],[10.0,175.5],[2.0,174.5],[1.5,171.0],[87.0,172.5],[143.5,176.0],[79.0,177.5]]],"kind":"urban"},{"poly":[[[60.5,247.0],[71.5,207.0],[80.0,207.5],[83.5,202.0],[82.5,198.0],[75.5,194.0],[76.0,190.5],[136.0,189.5],[167.0,185.5],[199.0,184.5],[250.0,189.31],[250.0,213.5],[230.0,213.5],[209.0,200.5],[187.0,195.5],[172.0,196.5],[154.0,201.5],[140.0,209.5],[129.5,220.0],[115.0,247.5],[60.5,247.0]]],"kind":"urban"},{"poly":[[[24.5,233.0],[31.5,211.0],[35.5,206.0],[39.5,189.0],[53.0,189.5],[41.0,234.5],[24.5,233.0]]],"kind":"urban"},{"poly":[[[37.0,244.5],[41.0,246.5],[46.0,244.5],[52.0,246.5],[55.0,244.5],[58.93,250.0],[33.07,250.0],[37.0,244.5]]],"kind":"urban"}],"roads":[{"poly":[[[196.0,184.5],[195.0,183.5],[169.0,184.5],[160.0,186.5],[152.0,186.5],[142.0,188.5],[127.0,188.5],[126.0,189.5],[124.0,188.5],[123.0,189.5],[78.0,189.5],[75.5,191.0],[74.5,197.0],[71.5,202.0],[74.5,205.0],[71.5,207.0],[68.5,214.0],[67.5,221.0],[59.5,246.0],[61.5,249.0],[61.17,250.0],[59.5,250.0],[57.0,246.5],[47.0,244.5],[35.0,246.5],[32.5,250.0],[0.0,250.0],[0.0,232.3],[4.0,235.5],[22.0,235.5],[25.0,232.5],[28.0,235.5],[39.0,235.5],[41.0,234.5],[53.5,195.0],[52.5,190.0],[50.0,188.5],[4.0,186.5],[1.0,189.5],[0.0,189.5],[0.0,177.11],[11.0,176.5],[54.0,179.5],[60.5,184.0],[63.5,192.0],[63.0,197.5],[67.5,185.0],[70.0,182.5],[78.0,179.5],[126.0,179.5],[169.0,174.5],[195.0,173.5],[250.0,177.79],[250.0,188.05],[196.0,184.5]]],"bridge":false},{"poly":[[[53.0,125.5],[54.0,126.5],[67.0,126.5],[69.5,125.0],[71.5,119.0],[72.5,105.0],[73.5,104.0],[75.5,84.0],[76.5,83.0],[73.0,79.5],[23.0,76.5],[22.0,75.5],[8.0,75.5],[7.0,74.5],[0.0,74.5],[0.0,61.74],[75.5,68.0],[78.5,65.0],[78.5,47.0],[77.0,44.5],[72.5,44.0],[72.5,40.0],[75.0,40.5],[78.5,37.0],[78.5,0.0],[98.5,0.0],[98.5,53.0],[99.5,54.0],[98.5,55.0],[98.5,61.0],[99.5,62.0],[98.5,63.0],[98.5,70.0],[97.5,71.0],[97.5,77.0],[96.5,78.0],[96.5,84.0],[95.5,85.0],[95.5,91.0],[94.5,92.0],[94.5,98.0],[93.5,99.0],[93.5,105.0],[90.5,120.0],[91.5,126.0],[94.0,127.5],[132.0,128.5],[133.0,129.5],[157.0,131.5],[179.0,137.5],[191.0,143.5],[200.0,143.5],[201.0,144.5],[250.0,146.66],[250.0,156.53],[191.0,153.5],[166.0,143.5],[142.0,139.5],[142.5,143.0],[139.5,151.0],[133.0,155.5],[89.0,155.5],[81.0,152.5],[76.5,146.0],[76.5,138.0],[78.5,134.0],[82.5,131.0],[80.0,123.5],[77.5,131.0],[73.5,134.0],[75.5,141.0],[72.5,149.0],[70.0,151.5],[62.0,154.5],[12.0,152.5],[5.5,148.0],[2.5,140.0],[3.0,135.5],[0.0,135.58],[0.0,125.5],[53.0,125.5]],[[129.0,139.5],[89.0,138.5],[85.5,142.0],[89.0,145.5],[129.5,146.0],[132.5,143.0],[129.0,139.5]],[[62.0,137.5],[16.0,136.5],[12.5,140.0],[16.0,143.5],[62.5,144.0],[65.5,141.0],[62.0,137.5]]],"bridge":false},{"poly":[[[195.0,173.5],[169.0,174.5],[126.0,179.5],[78.0,179.5],[70.0,182.5],[67.5,185.0],[63.0,197.5],[63.5,192.0],[60.5,184.0],[54.0,179.5],[11.0,176.5],[0.0,177.11],[0.0,135.58],[3.0,135.5],[2.5,140.0],[5.5,148.0],[12.0,152.5],[62.0,154.5],[70.0,151.5],[72.5,149.0],[75.5,141.0],[73.5,134.0],[77.5,131.0],[80.0,123.5],[82.5,131.0],[78.5,134.0],[76.5,138.0],[76.5,146.0],[81.0,152.5],[89.0,155.5],[133.0,155.5],[139.5,151.0],[142.5,143.0],[142.0,139.5],[166.0,143.5],[191.0,153.5],[250.0,156.53],[250.0,177.79],[195.0,173.5]]],"bridge":false},{"poly":[[[1.0,51.5],[0.0,51.5],[0.0,27.5],[1.5,30.0],[0.5,32.0],[1.5,36.0],[0.5,41.0],[2.0,43.5],[9.5,48.0],[8.0,52.5],[4.0,48.5],[1.0,51.5]]],"bridge":false},{"poly":[[[1.5,2.0],[0.0,8.0],[0.0,0.0],[2.83,0.0],[1.5,2.0]]],"bridge":false},{"poly":[[[161.5,5.0],[163.0,0.5],[164.0,2.5],[167.5,3.0],[168.5,6.0],[167.0,8.5],[165.0,5.5],[161.5,5.0]]],"bridge":false},{"poly":[[[125.5,9.0],[124.0,1.5],[128.5,5.0],[129.0,9.5],[128.0,8.5],[125.5,9.0]]],"bridge":false},{"poly":[[[167.5,14.0],[166.5,10.0],[170.0,12.5],[174.0,8.5],[174.5,13.0],[171.0,16.5],[170.0,15Line truncated