Skip to content

Conversation

deevroman
Copy link
Contributor

@deevroman deevroman commented Apr 29, 2025

  1. You convinced me that there is no need to download incompleted parts :) I made it so that they are skipped.

  2. It is also important to check that the members of the relation are ways, otherwise it will lead to a crash.

  3. ways.push(way); replaced byways.push(way.cloneNode(true));, because in complex buildings, the way can be reused for different parts of the building and cannot be modified

It doesn't fix the Chrysler Building, but it does fix https://deevroman.github.io/OSMBuilding/?type=relation&id=5428216

With download:

With this PR:

@deevroman deevroman changed the title skip non-way members, skip incompleted ways, prevent global modification of Document with way Skip incompleted ways, skip non-way members, prevent global modification of way object May 5, 2025
@deevroman deevroman force-pushed the skip-uncompleted branch from 4f2afa8 to b5fc536 Compare May 6, 2025 20:05
@deevroman
Copy link
Contributor Author

Added a test where the current implementation in the main branch crashes

@Beakerboy Beakerboy merged commit 874b3fe into Beakerboy:main May 7, 2025
2 checks passed
Beakerboy added a commit that referenced this pull request Jun 4, 2025
* Split data downloading and building creating (#118)

* Outer building visibility (#119)

* Visibility (#120)

* Update building.js (#121)

* Tests for API (#122)

* check HTTP code status and show alert with error

* tests for API errors

* Show validation errors  (#123)

* show validation errors + tests

* fix typo

* Skip incompleted ways, skip non-way members, prevent global modification of way object (#100)

* skip non-way members, skip incompleted ways, prevent global modification of Document with way

* add test

* better colors for MeshPhysicalMaterial (#126)

* Fix crash when processing type=building with outline being a multipolygon (#124)

* #88 initial support type=building with multipolygon outline

* support multiple ways in inner rings

* add test

* Hipped roof (#128)

* Update BuildingShapeUtils.js (#129)

* Update BuildingShapeUtils.js (#130)

* Update utils.test.js (#132)

---------

Co-authored-by: Roman Deev <roman.deev06@gmail.com>
Beakerboy added a commit that referenced this pull request Jun 8, 2025
* Update BuildingShapeUtils.js

* Update utils.test.js

* Update utils.test.js

* Update buildingpart.test.js

* Update BuildingShapeUtils.js

* Update buildingpart.test.js

* Update from main (#133)

* Split data downloading and building creating (#118)

* Outer building visibility (#119)

* Visibility (#120)

* Update building.js (#121)

* Tests for API (#122)

* check HTTP code status and show alert with error

* tests for API errors

* Show validation errors  (#123)

* show validation errors + tests

* fix typo

* Skip incompleted ways, skip non-way members, prevent global modification of way object (#100)

* skip non-way members, skip incompleted ways, prevent global modification of Document with way

* add test

* better colors for MeshPhysicalMaterial (#126)

* Fix crash when processing type=building with outline being a multipolygon (#124)

* #88 initial support type=building with multipolygon outline

* support multiple ways in inner rings

* add test

* Hipped roof (#128)

* Update BuildingShapeUtils.js (#129)

* Update BuildingShapeUtils.js (#130)

* Update utils.test.js (#132)

---------

Co-authored-by: Roman Deev <roman.deev06@gmail.com>

* Update building.test.js

* Update buildingpart.js

* Fixed direction bug (#136)

* Update utils.test.js

---------

Co-authored-by: Roman Deev <roman.deev06@gmail.com>
Beakerboy added a commit to Mosaic-NFT/OSMBuilding that referenced this pull request Jun 11, 2025
* Hipped roof (Beakerboy#128)

* Update BuildingShapeUtils.js (Beakerboy#129)

* Update BuildingShapeUtils.js (Beakerboy#130)

* Update utils.test.js (Beakerboy#132)

* Dev (Beakerboy#137)

* Update BuildingShapeUtils.js

* Update utils.test.js

* Update utils.test.js

* Update buildingpart.test.js

* Update BuildingShapeUtils.js

* Update buildingpart.test.js

* Update from main (Beakerboy#133)

* Split data downloading and building creating (Beakerboy#118)

* Outer building visibility (Beakerboy#119)

* Visibility (Beakerboy#120)

* Update building.js (Beakerboy#121)

* Tests for API (Beakerboy#122)

* check HTTP code status and show alert with error

* tests for API errors

* Show validation errors  (Beakerboy#123)

* show validation errors + tests

* fix typo

* Skip incompleted ways, skip non-way members, prevent global modification of way object (Beakerboy#100)

* skip non-way members, skip incompleted ways, prevent global modification of Document with way

* add test

* better colors for MeshPhysicalMaterial (Beakerboy#126)

* Fix crash when processing type=building with outline being a multipolygon (Beakerboy#124)

* Beakerboy#88 initial support type=building with multipolygon outline

* support multiple ways in inner rings

* add test

* Hipped roof (Beakerboy#128)

* Update BuildingShapeUtils.js (Beakerboy#129)

* Update BuildingShapeUtils.js (Beakerboy#130)

* Update utils.test.js (Beakerboy#132)

---------

Co-authored-by: Roman Deev <roman.deev06@gmail.com>

* Update building.test.js

* Update buildingpart.js

* Fixed direction bug (Beakerboy#136)

* Update utils.test.js

---------

Co-authored-by: Roman Deev <roman.deev06@gmail.com>

* Update README.md

* Update building.test.js

* Update building.test.js

* Update building.test.js

* Update building.js

* Update building.js

* Update building.js

* Update building.js

* Update building.js

* Update building.js

---------

Co-authored-by: Roman Deev <roman.deev06@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants