voxcity 0.5.4__tar.gz → 0.5.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of voxcity might be problematic. Click here for more details.

Files changed (54) hide show
  1. {voxcity-0.5.4 → voxcity-0.5.6}/PKG-INFO +1 -1
  2. {voxcity-0.5.4 → voxcity-0.5.6}/pyproject.toml +1 -1
  3. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/downloader/citygml.py +6 -6
  4. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/generator.py +8 -4
  5. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/geoprocessor/grid.py +2 -1
  6. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity.egg-info/PKG-INFO +1 -1
  7. {voxcity-0.5.4 → voxcity-0.5.6}/AUTHORS.rst +0 -0
  8. {voxcity-0.5.4 → voxcity-0.5.6}/CONTRIBUTING.rst +0 -0
  9. {voxcity-0.5.4 → voxcity-0.5.6}/HISTORY.rst +0 -0
  10. {voxcity-0.5.4 → voxcity-0.5.6}/LICENSE +0 -0
  11. {voxcity-0.5.4 → voxcity-0.5.6}/MANIFEST.in +0 -0
  12. {voxcity-0.5.4 → voxcity-0.5.6}/README.md +0 -0
  13. {voxcity-0.5.4 → voxcity-0.5.6}/docs/Makefile +0 -0
  14. {voxcity-0.5.4 → voxcity-0.5.6}/docs/archive/README.rst +0 -0
  15. {voxcity-0.5.4 → voxcity-0.5.6}/docs/authors.rst +0 -0
  16. {voxcity-0.5.4 → voxcity-0.5.6}/docs/conf.py +0 -0
  17. {voxcity-0.5.4 → voxcity-0.5.6}/docs/index.rst +0 -0
  18. {voxcity-0.5.4 → voxcity-0.5.6}/docs/make.bat +0 -0
  19. {voxcity-0.5.4 → voxcity-0.5.6}/setup.cfg +0 -0
  20. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/__init__.py +0 -0
  21. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/downloader/__init__.py +0 -0
  22. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/downloader/eubucco.py +0 -0
  23. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/downloader/gee.py +0 -0
  24. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/downloader/mbfp.py +0 -0
  25. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/downloader/oemj.py +0 -0
  26. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/downloader/omt.py +0 -0
  27. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/downloader/osm.py +0 -0
  28. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/downloader/overture.py +0 -0
  29. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/downloader/utils.py +0 -0
  30. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/exporter/__init_.py +0 -0
  31. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/exporter/envimet.py +0 -0
  32. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/exporter/magicavoxel.py +0 -0
  33. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/exporter/obj.py +0 -0
  34. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/geoprocessor/__init_.py +0 -0
  35. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/geoprocessor/draw.py +0 -0
  36. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/geoprocessor/mesh.py +0 -0
  37. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/geoprocessor/network.py +0 -0
  38. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/geoprocessor/polygon.py +0 -0
  39. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/geoprocessor/utils.py +0 -0
  40. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/simulator/__init_.py +0 -0
  41. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/simulator/solar.py +0 -0
  42. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/simulator/utils.py +0 -0
  43. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/simulator/view.py +0 -0
  44. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/utils/__init_.py +0 -0
  45. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/utils/lc.py +0 -0
  46. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/utils/material.py +0 -0
  47. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/utils/visualization.py +0 -0
  48. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity/utils/weather.py +0 -0
  49. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity.egg-info/SOURCES.txt +0 -0
  50. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity.egg-info/dependency_links.txt +0 -0
  51. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity.egg-info/requires.txt +0 -0
  52. {voxcity-0.5.4 → voxcity-0.5.6}/src/voxcity.egg-info/top_level.txt +0 -0
  53. {voxcity-0.5.4 → voxcity-0.5.6}/tests/__init__.py +0 -0
  54. {voxcity-0.5.4 → voxcity-0.5.6}/tests/voxelcity.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: voxcity
3
- Version: 0.5.4
3
+ Version: 0.5.6
4
4
  Summary: voxcity is an easy and one-stop tool to output 3d city models for microclimate simulation by integrating multiple geospatial open-data
5
5
  Author-email: Kunihiko Fujiwara <kunihiko@nus.edu.sg>
6
6
  Maintainer-email: Kunihiko Fujiwara <kunihiko@nus.edu.sg>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "voxcity"
3
- version = "0.5.4"
3
+ version = "0.5.6"
4
4
  requires-python = ">=3.10,<3.13"
5
5
  classifiers = [
6
6
  "Programming Language :: Python :: 3.10",
@@ -488,8 +488,8 @@ def load_plateau_with_terrain(url, base_dir):
488
488
 
489
489
  # Save
490
490
  gdf_buildings_swapped['id'] = gdf_buildings_swapped.index
491
- gdf_buildings_swapped.to_file('all_buildings_with_elevation.geojson', driver='GeoJSON')
492
- print(f"\nBuildings saved to all_buildings_with_elevation.geojson")
491
+ # gdf_buildings_swapped.to_file('all_buildings_with_elevation.geojson', driver='GeoJSON')
492
+ # print(f"\nBuildings saved to all_buildings_with_elevation.geojson")
493
493
  else:
494
494
  gdf_buildings_swapped = None
495
495
 
@@ -520,8 +520,8 @@ def load_plateau_with_terrain(url, base_dir):
520
520
  }
521
521
 
522
522
  gdf_terrain_swapped = gpd.GeoDataFrame(terrain_data, geometry='geometry', crs='EPSG:6697')
523
- gdf_terrain_swapped.to_file('terrain_elevation.geojson', driver='GeoJSON')
524
- print(f"Terrain saved to terrain_elevation.geojson")
523
+ # gdf_terrain_swapped.to_file('terrain_elevation.geojson', driver='GeoJSON')
524
+ # print(f"Terrain saved to terrain_elevation.geojson")
525
525
  else:
526
526
  gdf_terrain_swapped = None
527
527
 
@@ -548,8 +548,8 @@ def load_plateau_with_terrain(url, base_dir):
548
548
  'geometry': swapped_geometries
549
549
  }
550
550
  gdf_vegetation_swapped = gpd.GeoDataFrame(vegetation_data, geometry='geometry', crs='EPSG:6697')
551
- gdf_vegetation_swapped.to_file('vegetation_elevation.geojson', driver='GeoJSON')
552
- print(f"Vegetation saved to vegetation_elevation.geojson")
551
+ # gdf_vegetation_swapped.to_file('vegetation_elevation.geojson', driver='GeoJSON')
552
+ # print(f"Vegetation saved to vegetation_elevation.geojson")
553
553
  else:
554
554
  gdf_vegetation_swapped = None
555
555
 
@@ -16,7 +16,6 @@ The main functions are:
16
16
 
17
17
  import numpy as np
18
18
  import os
19
-
20
19
  # Local application/library specific imports
21
20
  from .downloader.mbfp import get_mbfp_gdf
22
21
  from .downloader.osm import load_gdf_from_openstreetmap, load_land_cover_gdf_from_osm
@@ -219,8 +218,6 @@ def get_building_height_grid(rectangle_vertices, meshsize, source, output_dir, *
219
218
  gdf_comp = get_mbfp_gdf(output_dir, rectangle_vertices)
220
219
  elif building_complementary_source == 'OpenStreetMap':
221
220
  gdf_comp = load_gdf_from_openstreetmap(rectangle_vertices)
222
- elif building_complementary_source == 'OSM Buildings':
223
- gdf_comp = load_gdf_from_osmbuildings(rectangle_vertices)
224
221
  elif building_complementary_source == 'EUBUCCO v0.1':
225
222
  gdf_comp = load_gdf_from_eubucco(rectangle_vertices, output_dir)
226
223
  elif building_complementary_source == "OpenMapTiles":
@@ -765,7 +762,14 @@ def get_voxcity_CityGML(rectangle_vertices, url_citygml, land_cover_source, cano
765
762
  else:
766
763
  canopy_height_grid_comp = get_canopy_height_grid(rectangle_vertices, meshsize, canopy_height_source, output_dir, **kwargs)
767
764
 
768
- canopy_height_grid = create_vegetation_height_grid_from_gdf_polygon(vegetation_gdf, meshsize, rectangle_vertices)
765
+ # In the get_voxcity_CityGML function, modify it to handle None vegetation_gdf
766
+ if vegetation_gdf is not None:
767
+ canopy_height_grid = create_vegetation_height_grid_from_gdf_polygon(vegetation_gdf, meshsize, rectangle_vertices)
768
+ else:
769
+ # Create an empty canopy_height_grid with the same shape as your other grids
770
+ # This depends on the expected shape, you might need to adjust
771
+ canopy_height_grid = np.zeros_like(building_height_grid)
772
+
769
773
  mask = (canopy_height_grid == 0) & (canopy_height_grid_comp != 0)
770
774
  canopy_height_grid[mask] = canopy_height_grid_comp[mask]
771
775
 
@@ -10,7 +10,8 @@ from scipy.ndimage import label, generate_binary_structure
10
10
  from pyproj import Geod, Transformer, CRS
11
11
  import rasterio
12
12
  from affine import Affine
13
- from shapely.geometry import box
13
+ from shapely.geometry import box, Polygon, Point, MultiPolygon
14
+
14
15
  from scipy.interpolate import griddata
15
16
  from shapely.errors import GEOSException
16
17
  import geopandas as gpd
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: voxcity
3
- Version: 0.5.4
3
+ Version: 0.5.6
4
4
  Summary: voxcity is an easy and one-stop tool to output 3d city models for microclimate simulation by integrating multiple geospatial open-data
5
5
  Author-email: Kunihiko Fujiwara <kunihiko@nus.edu.sg>
6
6
  Maintainer-email: Kunihiko Fujiwara <kunihiko@nus.edu.sg>
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes