voxcity 0.3.25__tar.gz → 0.3.27__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 (53) hide show
  1. {voxcity-0.3.25 → voxcity-0.3.27}/PKG-INFO +2 -2
  2. {voxcity-0.3.25 → voxcity-0.3.27}/pyproject.toml +2 -2
  3. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/generator.py +17 -4
  4. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity.egg-info/PKG-INFO +2 -2
  5. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity.egg-info/requires.txt +1 -1
  6. {voxcity-0.3.25 → voxcity-0.3.27}/AUTHORS.rst +0 -0
  7. {voxcity-0.3.25 → voxcity-0.3.27}/CONTRIBUTING.rst +0 -0
  8. {voxcity-0.3.25 → voxcity-0.3.27}/HISTORY.rst +0 -0
  9. {voxcity-0.3.25 → voxcity-0.3.27}/LICENSE +0 -0
  10. {voxcity-0.3.25 → voxcity-0.3.27}/MANIFEST.in +0 -0
  11. {voxcity-0.3.25 → voxcity-0.3.27}/README.md +0 -0
  12. {voxcity-0.3.25 → voxcity-0.3.27}/docs/Makefile +0 -0
  13. {voxcity-0.3.25 → voxcity-0.3.27}/docs/archive/README.rst +0 -0
  14. {voxcity-0.3.25 → voxcity-0.3.27}/docs/authors.rst +0 -0
  15. {voxcity-0.3.25 → voxcity-0.3.27}/docs/conf.py +0 -0
  16. {voxcity-0.3.25 → voxcity-0.3.27}/docs/index.rst +0 -0
  17. {voxcity-0.3.25 → voxcity-0.3.27}/docs/make.bat +0 -0
  18. {voxcity-0.3.25 → voxcity-0.3.27}/setup.cfg +0 -0
  19. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/__init__.py +0 -0
  20. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/downloader/__init__.py +0 -0
  21. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/downloader/eubucco.py +0 -0
  22. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/downloader/gee.py +0 -0
  23. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/downloader/mbfp.py +0 -0
  24. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/downloader/oemj.py +0 -0
  25. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/downloader/omt.py +0 -0
  26. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/downloader/osm.py +0 -0
  27. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/downloader/overture.py +0 -0
  28. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/downloader/utils.py +0 -0
  29. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/exporter/__init_.py +0 -0
  30. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/exporter/envimet.py +0 -0
  31. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/exporter/magicavoxel.py +0 -0
  32. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/exporter/obj.py +0 -0
  33. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/geoprocessor/__init_.py +0 -0
  34. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/geoprocessor/draw.py +0 -0
  35. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/geoprocessor/grid.py +0 -0
  36. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/geoprocessor/mesh.py +0 -0
  37. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/geoprocessor/network.py +0 -0
  38. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/geoprocessor/polygon.py +0 -0
  39. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/geoprocessor/utils.py +0 -0
  40. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/simulator/__init_.py +0 -0
  41. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/simulator/solar.py +0 -0
  42. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/simulator/utils.py +0 -0
  43. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/simulator/view.py +0 -0
  44. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/utils/__init_.py +0 -0
  45. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/utils/lc.py +0 -0
  46. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/utils/material.py +0 -0
  47. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/utils/visualization.py +0 -0
  48. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity/utils/weather.py +0 -0
  49. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity.egg-info/SOURCES.txt +0 -0
  50. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity.egg-info/dependency_links.txt +0 -0
  51. {voxcity-0.3.25 → voxcity-0.3.27}/src/voxcity.egg-info/top_level.txt +0 -0
  52. {voxcity-0.3.25 → voxcity-0.3.27}/tests/__init__.py +0 -0
  53. {voxcity-0.3.25 → voxcity-0.3.27}/tests/voxelcity.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: voxcity
3
- Version: 0.3.25
3
+ Version: 0.3.27
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>
@@ -45,7 +45,7 @@ Requires-Dist: pycountry
45
45
  Requires-Dist: osm2geojson
46
46
  Requires-Dist: seaborn
47
47
  Requires-Dist: overturemaps
48
- Requires-Dist: protobuf==3.20.3
48
+ Requires-Dist: protobuf<=3.20.3
49
49
  Requires-Dist: timezonefinder
50
50
  Requires-Dist: astral
51
51
  Requires-Dist: osmnx
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "voxcity"
3
- version = "0.3.25"
3
+ version = "0.3.27"
4
4
  requires-python = ">=3.10,<3.13"
5
5
  classifiers = [
6
6
  "Programming Language :: Python :: 3.10",
@@ -47,7 +47,7 @@ dependencies = [
47
47
  "osm2geojson",
48
48
  "seaborn",
49
49
  "overturemaps",
50
- "protobuf==3.20.3",
50
+ "protobuf<=3.20.3",
51
51
  "timezonefinder",
52
52
  "astral",
53
53
  "osmnx",
@@ -82,7 +82,8 @@ def get_land_cover_grid(rectangle_vertices, meshsize, source, output_dir, **kwar
82
82
  print(f"Data source: {source}")
83
83
 
84
84
  # Initialize Earth Engine for accessing satellite data
85
- initialize_earth_engine()
85
+ if source is not "OpenStreetMap":
86
+ initialize_earth_engine()
86
87
 
87
88
  # Create output directory if it doesn't exist
88
89
  os.makedirs(output_dir, exist_ok=True)
@@ -157,7 +158,8 @@ def get_building_height_grid(rectangle_vertices, meshsize, source, output_dir, *
157
158
  """
158
159
 
159
160
  # Initialize Earth Engine for accessing satellite data
160
- initialize_earth_engine()
161
+ if source is not "OpenStreetMap":
162
+ initialize_earth_engine()
161
163
 
162
164
  print("Creating Building Height grid\n ")
163
165
  print(f"Data source: {source}")
@@ -320,7 +322,7 @@ def get_dem_grid(rectangle_vertices, meshsize, source, output_dir, **kwargs):
320
322
  image = get_dem_image(roi_buffered, source)
321
323
 
322
324
  # Save DEM data with appropriate resolution based on source
323
- if source in ["England 1m DTM", 'DEM France 1m', 'DEM France 5m', 'AUSTRALIA 5M DEM']:
325
+ if source in ["England 1m DTM", 'DEM France 1m', 'DEM France 5m', 'AUSTRALIA 5M DEM', 'Netherlands 0.5m DTM']:
324
326
  save_geotiff(image, geotiff_path, scale=meshsize, region=roi_buffered, crs='EPSG:4326')
325
327
  elif source == 'USGS 3DEP 1m':
326
328
  scale = max(meshsize, 1.25)
@@ -569,7 +571,18 @@ def get_voxcity(rectangle_vertices, building_source, land_cover_source, canopy_h
569
571
  building_gdf.to_file(save_path, driver='GPKG')
570
572
 
571
573
  # Get canopy height data
572
- canopy_height_grid = get_canopy_height_grid(rectangle_vertices, meshsize, canopy_height_source, output_dir, **kwargs)
574
+ if canopy_height_source == "Static":
575
+ # Create canopy height grid with same shape as land cover grid
576
+ canopy_height_grid = np.zeros_like(land_cover_grid, dtype=float)
577
+
578
+ # Set default static height for trees (20 meters is a typical average tree height)
579
+ static_tree_height = kwargs.get("static_tree_height", 10.0)
580
+ tree_mask = (land_cover_grid == 4)
581
+
582
+ # Set static height for tree cells
583
+ canopy_height_grid[tree_mask] = static_tree_height
584
+ else:
585
+ canopy_height_grid = get_canopy_height_grid(rectangle_vertices, meshsize, canopy_height_source, output_dir, **kwargs)
573
586
 
574
587
  # Handle DEM - either flat or from source
575
588
  if dem_source == "Flat":
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: voxcity
3
- Version: 0.3.25
3
+ Version: 0.3.27
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>
@@ -45,7 +45,7 @@ Requires-Dist: pycountry
45
45
  Requires-Dist: osm2geojson
46
46
  Requires-Dist: seaborn
47
47
  Requires-Dist: overturemaps
48
- Requires-Dist: protobuf==3.20.3
48
+ Requires-Dist: protobuf<=3.20.3
49
49
  Requires-Dist: timezonefinder
50
50
  Requires-Dist: astral
51
51
  Requires-Dist: osmnx
@@ -28,7 +28,7 @@ pycountry
28
28
  osm2geojson
29
29
  seaborn
30
30
  overturemaps
31
- protobuf==3.20.3
31
+ protobuf<=3.20.3
32
32
  timezonefinder
33
33
  astral
34
34
  osmnx
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