building-boundary icon indicating copy to clipboard operation
building-boundary copied to clipboard

Small fixes to run this code in 2023

Open esgn opened this issue 2 years ago • 0 comments

I don't know if the code is still maintained but here are several small fixes I introduced to try and run it without CGAL bindings. Putting them here if it can help.

As the libraries versions are not fixed, I stumbled upon compatibilities issues with newer versions of them.

  • Numpy has deprecated np.bool since 1.24.0. I replaced it with bool as it seems np.bool was only an alias on Python bool type
  • Shapely MultiPolygons need to be accessed through .geoms to iterate over them
  • Shapely cascaded_union is deprecated and will soon be replaced by unary_union

I also added two checks to prevent what seem to me as unnecessary breaking exceptions:

  • In compute_shape() in fit.py I noticed that when @Geodan/concave-hull returns an invalid polygon (it does happen from time to time) the union will break. Added a check to prevent merging alpha shape geometry with invalid concave-hull geometry
  • In triangle_geometry() in alpha_shape.py I encountered some cases where sqrt() had to deal with a very small negative number. I added a try: ... except ValueError: ... around it and initialized the area value to 0

esgn avatar Jan 09 '23 16:01 esgn