voxcity 0.7.0__py3-none-any.whl → 1.0.2__py3-none-any.whl

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.
Files changed (42) hide show
  1. voxcity/__init__.py +14 -14
  2. voxcity/exporter/__init__.py +12 -12
  3. voxcity/exporter/cityles.py +633 -633
  4. voxcity/exporter/envimet.py +733 -728
  5. voxcity/exporter/magicavoxel.py +333 -333
  6. voxcity/exporter/netcdf.py +238 -238
  7. voxcity/exporter/obj.py +1480 -1480
  8. voxcity/generator/__init__.py +47 -44
  9. voxcity/generator/api.py +721 -675
  10. voxcity/generator/grids.py +381 -379
  11. voxcity/generator/io.py +94 -94
  12. voxcity/generator/pipeline.py +282 -282
  13. voxcity/generator/update.py +429 -0
  14. voxcity/generator/voxelizer.py +18 -6
  15. voxcity/geoprocessor/__init__.py +75 -75
  16. voxcity/geoprocessor/draw.py +1488 -1219
  17. voxcity/geoprocessor/merge_utils.py +91 -91
  18. voxcity/geoprocessor/mesh.py +806 -806
  19. voxcity/geoprocessor/network.py +708 -708
  20. voxcity/geoprocessor/raster/buildings.py +435 -428
  21. voxcity/geoprocessor/raster/export.py +93 -93
  22. voxcity/geoprocessor/raster/landcover.py +5 -2
  23. voxcity/geoprocessor/utils.py +824 -824
  24. voxcity/models.py +113 -113
  25. voxcity/simulator/solar/__init__.py +66 -43
  26. voxcity/simulator/solar/integration.py +336 -336
  27. voxcity/simulator/solar/sky.py +668 -0
  28. voxcity/simulator/solar/temporal.py +792 -434
  29. voxcity/utils/__init__.py +11 -0
  30. voxcity/utils/classes.py +194 -0
  31. voxcity/utils/lc.py +80 -39
  32. voxcity/utils/shape.py +230 -0
  33. voxcity/visualizer/__init__.py +24 -24
  34. voxcity/visualizer/builder.py +43 -43
  35. voxcity/visualizer/grids.py +141 -141
  36. voxcity/visualizer/maps.py +187 -187
  37. voxcity/visualizer/renderer.py +1145 -928
  38. {voxcity-0.7.0.dist-info → voxcity-1.0.2.dist-info}/METADATA +90 -49
  39. {voxcity-0.7.0.dist-info → voxcity-1.0.2.dist-info}/RECORD +42 -38
  40. {voxcity-0.7.0.dist-info → voxcity-1.0.2.dist-info}/WHEEL +0 -0
  41. {voxcity-0.7.0.dist-info → voxcity-1.0.2.dist-info}/licenses/AUTHORS.rst +0 -0
  42. {voxcity-0.7.0.dist-info → voxcity-1.0.2.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: voxcity
3
- Version: 0.7.0
3
+ Version: 1.0.2
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
  License: MIT
6
6
  License-File: AUTHORS.rst
@@ -29,6 +29,7 @@ Requires-Dist: ipyleaflet
29
29
  Requires-Dist: joblib
30
30
  Requires-Dist: lxml
31
31
  Requires-Dist: matplotlib
32
+ Requires-Dist: nbformat
32
33
  Requires-Dist: netCDF4
33
34
  Requires-Dist: numba
34
35
  Requires-Dist: numpy
@@ -137,6 +138,55 @@ Description-Content-Type: text/markdown
137
138
  - **View Index Simulations**: Compute sky view index (SVI) and green view index (GVI) from a specified viewpoint.
138
139
  - **Landmark Visibility Maps**: Assess the visibility of selected landmarks within the voxelized environment.
139
140
 
141
+ ## Class Definitions
142
+
143
+ VoxCity uses standardized class definitions for voxel grids and land cover data.
144
+
145
+ ### Voxel Semantic Codes
146
+
147
+ The 3D voxel grid uses integer codes to represent different urban elements:
148
+
149
+ | Code | Description |
150
+ |------|-------------|
151
+ | -3 | Building volume |
152
+ | -2 | Tree canopy (vegetation) |
153
+ | -1 | Ground/Subsurface |
154
+ | ≥1 | Land cover class at ground surface |
155
+
156
+ ### Standard Land Cover Classes (1-based indices)
157
+
158
+ VoxCity standardizes land cover to a 1-based indexing system (1-14) for consistency across different data sources:
159
+
160
+ | Index | Class Name |
161
+ |-------|------------|
162
+ | 1 | Bareland |
163
+ | 2 | Rangeland |
164
+ | 3 | Shrub |
165
+ | 4 | Agriculture land |
166
+ | 5 | Tree |
167
+ | 6 | Moss and lichen |
168
+ | 7 | Wet land |
169
+ | 8 | Mangrove |
170
+ | 9 | Water |
171
+ | 10 | Snow and ice |
172
+ | 11 | Developed space |
173
+ | 12 | Road |
174
+ | 13 | Building |
175
+ | 14 | No Data |
176
+
177
+ You can also access these definitions programmatically:
178
+
179
+ ```python
180
+ from voxcity.utils import print_class_definitions, print_voxel_codes, print_land_cover_classes
181
+
182
+ # Print all class definitions
183
+ print_class_definitions()
184
+
185
+ # Or print separately
186
+ print_voxel_codes()
187
+ print_land_cover_classes()
188
+ ```
189
+
140
190
  ## Installation
141
191
 
142
192
  Make sure you have Python 3.12 installed. Install voxcity with:
@@ -186,22 +236,6 @@ ee.Authenticate()
186
236
  ee.Initialize(project='your-project-id')
187
237
  ```
188
238
 
189
- ## Grid Orientation
190
-
191
- - Canonical internal orientation is north_up: row 0 = north/top, last row = south/bottom for all 2D grids.
192
- - Columns increase eastward: col 0 = west/left, indices increase to the east.
193
- - Processing functions accept and return north_up/eastward grids. Visualization utilities may flip vertically only for display; they never change east–west.
194
- - 3D indexing uses (row, col, z) = (north→south, west→east, ground→up).
195
- - If your input data uses a south_up convention, normalize it at the boundary using:
196
-
197
- ```python
198
- from voxcity.utils.orientation import ensure_orientation, ORIENTATION_SOUTH_UP
199
-
200
- grid_north_up = ensure_orientation(grid, orientation_in=ORIENTATION_SOUTH_UP)
201
- ```
202
-
203
- This keeps orientation handling explicit and avoids surprises.
204
-
205
239
  ### 2. Define Target Area
206
240
 
207
241
  You can define your target area in three ways:
@@ -274,17 +308,6 @@ voxcity = get_voxcity(
274
308
  meshsize,
275
309
  **kwargs
276
310
  )
277
-
278
- # Access the generated grids and GeoDataFrame
279
- voxcity_grid = voxcity.voxels.classes
280
- building_height_grid = voxcity.buildings.heights
281
- building_min_height_grid = voxcity.buildings.min_heights
282
- building_id_grid = voxcity.buildings.ids
283
- canopy_height_grid = voxcity.tree_canopy.top
284
- canopy_bottom_height_grid = voxcity.tree_canopy.bottom
285
- land_cover_grid = voxcity.land_cover.classes
286
- dem_grid = voxcity.dem.elevation
287
- building_gdf = voxcity.extras.get('building_gdf')
288
311
  ```
289
312
 
290
313
  #### Option 2: Custom Mode
@@ -330,22 +353,36 @@ voxcity = get_voxcity(
330
353
  from voxcity.exporter.envimet import export_inx, generate_edb_file
331
354
 
332
355
  envimet_kwargs = {
333
- "output_directory": "output", # Directory where output files will be saved
334
- "author_name": "your name", # Name of the model author
335
- "model_description": "generated with voxcity", # Description text for the model
336
- "domain_building_max_height_ratio": 2, # Maximum ratio between domain height and tallest building height
337
- "useTelescoping_grid": True, # Enable telescoping grid for better computational efficiency
338
- "verticalStretch": 20, # Vertical grid stretching factor (%)
339
- "min_grids_Z": 20, # Minimum number of vertical grid cells
340
- "lad": 1.0 # Leaf Area Density (m2/m3) for vegetation modeling
356
+ "output_directory": "output", # Directory where output files will be saved
357
+ "file_basename": "voxcity", # Base name (without extension) for INX
358
+ "author_name": "your name", # Name of the model author
359
+ "model_description": "generated with voxcity", # Description for the model
360
+ "domain_building_max_height_ratio": 2, # Max ratio between domain height and tallest building
361
+ "useTelescoping_grid": True, # Enable telescoping grid
362
+ "verticalStretch": 20, # Vertical grid stretching factor (%)
363
+ "min_grids_Z": 20, # Minimum number of vertical grid cells
364
+ "lad": 1.0 # Leaf Area Density (m2/m3) for EDB generation
341
365
  }
342
366
 
343
- # If using auto mode, you can check selected sources in logs
344
- # For custom mode, use your specified land_cover_source
345
- land_cover_source = 'OpenStreetMap' # Specify if needed for export
367
+ # Optional: specify land cover source used for export (otherwise taken from voxcity.extras when available)
368
+ land_cover_source = 'OpenStreetMap'
369
+
370
+ # Export INX by passing the VoxCity object directly
371
+ export_inx(
372
+ voxcity,
373
+ output_directory=envimet_kwargs["output_directory"],
374
+ file_basename=envimet_kwargs["file_basename"],
375
+ land_cover_source=land_cover_source,
376
+ author_name=envimet_kwargs["author_name"],
377
+ model_description=envimet_kwargs["model_description"],
378
+ domain_building_max_height_ratio=envimet_kwargs["domain_building_max_height_ratio"],
379
+ useTelescoping_grid=envimet_kwargs["useTelescoping_grid"],
380
+ verticalStretch=envimet_kwargs["verticalStretch"],
381
+ min_grids_Z=envimet_kwargs["min_grids_Z"],
382
+ )
346
383
 
347
- export_inx(city.building_height_grid, city.building_id_grid, city.canopy_height_top, city.land_cover_grid, city.dem_grid, meshsize, land_cover_source, rectangle_vertices, **envimet_kwargs)
348
- generate_edb_file(**envimet_kwargs)
384
+ # Generate plant database (EDB) for vegetation
385
+ generate_edb_file(lad=envimet_kwargs["lad"])
349
386
  ```
350
387
  <p align="center">
351
388
  <img src="https://raw.githubusercontent.com/kunifujiwara/VoxCity/main/images/envimet.png" alt="Generated 3D City Model on Envi-MET GUI" width="600">
@@ -361,8 +398,8 @@ from voxcity.exporter.obj import export_obj
361
398
 
362
399
  output_directory = "output" # Directory where output files will be saved
363
400
  output_file_name = "voxcity" # Base name for the output OBJ file
364
- # export_obj signature: export_obj(array, output_dir, file_name, voxel_size, voxel_color_map=None)
365
- export_obj(city.voxcity_grid, output_directory, output_file_name, meshsize)
401
+ # Pass the VoxCity object directly (voxel size inferred)
402
+ export_obj(voxcity, output_directory, output_file_name)
366
403
  ```
367
404
  The generated OBJ files can be opened and rendered in the following 3D visualization software:
368
405
 
@@ -386,7 +423,8 @@ from voxcity.exporter.magicavoxel import export_magicavoxel_vox
386
423
 
387
424
  output_path = "output"
388
425
  base_filename = "voxcity"
389
- export_magicavoxel_vox(city.voxcity_grid, output_path, base_filename=base_filename)
426
+ # Pass the VoxCity object directly
427
+ export_magicavoxel_vox(voxcity, output_path, base_filename=base_filename)
390
428
  ```
391
429
  <p align="center">
392
430
  <img src="https://raw.githubusercontent.com/kunifujiwara/VoxCity/main/images/vox.png" alt="Generated 3D City Model on MagicaVoxel GUI" width="600">
@@ -579,18 +617,21 @@ G, edge_gdf = get_network_values(
579
617
 
580
618
  ## Citation
581
619
 
582
- Please cite the [paper](https://doi.org/10.48550/arXiv.2504.13934) if you use `voxcity` in a scientific publication:
620
+ Please cite the [paper](https://doi.org/10.1016/j.compenvurbsys.2025.102366) if you use `voxcity` in a scientific publication:
583
621
 
584
- Fujiwara K, Tsurumi R, Kiyono T, Fan Z, Liang X, Lei B, Yap W, Ito K, Biljecki F. VoxCity: A Seamless Framework for Open Geospatial Data Integration, Grid-Based Semantic 3D City Model Generation, and Urban Environment Simulation. arXiv preprint arXiv:2504.13934. 2025.
622
+ Fujiwara K, Tsurumi R, Kiyono T, Fan Z, Liang X, Lei B, Yap W, Ito K, Biljecki F., 2026. VoxCity: A Seamless Framework for Open Geospatial Data Integration, Grid-Based Semantic 3D City Model Generation, and Urban Environment Simulation. Computers, Environment and Urban Systems, 123, p.102366. https://doi.org/10.1016/j.compenvurbsys.2025.102366
585
623
 
586
624
  ```bibtex
587
625
  @article{fujiwara2025voxcity,
588
626
  title={VoxCity: A Seamless Framework for Open Geospatial Data Integration, Grid-Based Semantic 3D City Model Generation, and Urban Environment Simulation},
589
627
  author={Fujiwara, Kunihiko and Tsurumi, Ryuta and Kiyono, Tomoki and Fan, Zicheng and Liang, Xiucheng and Lei, Binyu and Yap, Winston and Ito, Koichi and Biljecki, Filip},
590
- journal={arXiv preprint arXiv:2504.13934},
591
- year={2025},
592
- doi = {10.48550/arXiv.2504.13934},
628
+ journal={Computers, Environment and Urban Systems},
629
+ volume = {123},
630
+ pages = {102366},
631
+ year = {2026},
632
+ doi = {10.1016/j.compenvurbsys.2025.102366}
593
633
  }
634
+
594
635
  ```
595
636
 
596
637
  ## Credit
@@ -1,4 +1,4 @@
1
- voxcity/__init__.py,sha256=wRuf9rZL_Z4Ac6jdfIE0mv5dpl4LYm3S5W87TwrXcrk,444
1
+ voxcity/__init__.py,sha256=_qSejkOJw5lXnNJWHbgLfWnerPoRl0R-tLyPB-GNNuw,458
2
2
  voxcity/downloader/__init__.py,sha256=1Y4YMHvKiDcJ4eC69XPbapg3-WhJ6yVXrX8-3d8Vi3g,171
3
3
  voxcity/downloader/citygml.py,sha256=I8-wWijqVOA1VeH3nFP9ZlC3l6XvXfli6lB17ZIXHb0,42232
4
4
  voxcity/downloader/eubucco.py,sha256=ln1YNaaOgJfxNfCtVbYaMm775-bUvpAA_LDv60_i22w,17875
@@ -10,68 +10,72 @@ voxcity/downloader/osm.py,sha256=7Wo6lSodci7gALMKLQ_0ricmn0ZrfUK90vKYQ-ayU2A,462
10
10
  voxcity/downloader/overture.py,sha256=hVxu-3Fmuu2E1tEzcDcNyU1cR-aE-6h6jkcxkuqN1-s,13343
11
11
  voxcity/downloader/utils.py,sha256=DAbPlj9i-OgJ8g4H0n_Dqfc-GalPTk0bsHkYMtja-yI,3026
12
12
  voxcity/errors.py,sha256=pPd4FhkAqKKCp5Emdzelc4fPKf112yUrD68da5YO1Xc,747
13
- voxcity/exporter/__init__.py,sha256=a-v_WeEHHYaqfZqgXfun7ExTh53KWKX8mTn6fQ4VL94,321
14
- voxcity/exporter/cityles.py,sha256=yguHtwZKONlLeN-_hqlJaNtfGFbceEfYF-TjrRfNYzs,22145
15
- voxcity/exporter/envimet.py,sha256=NhVeBP8tXGiaAFUk6JsV39Q8Shhxv1Yy9Xftc-9b9YQ,30934
16
- voxcity/exporter/magicavoxel.py,sha256=G02mDN0JCjaLecf1q56kfMSHKaP4YYKNCwSSCwUR2bE,13829
17
- voxcity/exporter/netcdf.py,sha256=m4eUBn8wfW6qFJOpXhqeeUQLxd9DVwmVHMCTRpNK1So,8305
18
- voxcity/exporter/obj.py,sha256=7G3kbKaKjIZHnWUVgbNKyqZGxJxBJJ3_N28tGqI2sCg,61521
19
- voxcity/generator/__init__.py,sha256=Rlm36dTDV3mPGCR_i0C-MhZoBFtgOyQ-4ZUBhamAn4w,1093
20
- voxcity/generator/api.py,sha256=9gQuBRVsJ92Dh3AOCxA4QKYnUcufb0s7H1vEgwq0eis,33397
21
- voxcity/generator/grids.py,sha256=7OqAtACdH2PwghTkipfiHM0xx0whcidwy49dKvpqhyA,19910
22
- voxcity/generator/io.py,sha256=mJmmRFsaFq3VZYPEsi5TWjYWhNGob5y9PvfHRGsq49o,3163
23
- voxcity/generator/pipeline.py,sha256=Qa_si0T5iTORTEK1PvAmMNWjazNAxvWBpWXxqBvt9nU,11609
24
- voxcity/generator/voxelizer.py,sha256=uQTbRG8y_inNOvIyBGE4Nqh1aTk-lIFnkqMrBiDgXWw,15592
25
- voxcity/geoprocessor/__init__.py,sha256=8DFBbSqds6fTEzJNm-IfPNW0xKghFoIJV47R_EhlNHw,1646
13
+ voxcity/exporter/__init__.py,sha256=6qfyTO8ey4ErmdLCes5KArdnQ_Cdt1Oj6wq5qSaNFOE,333
14
+ voxcity/exporter/cityles.py,sha256=0mz3sdQb9VCB62m9vuio5x8sDf0-9NFCwVkS6eldQ34,22797
15
+ voxcity/exporter/envimet.py,sha256=U5FBjiIQVrG1LrdbgSqMd6SBVpF4Y6S9a3KpMLudDjY,32047
16
+ voxcity/exporter/magicavoxel.py,sha256=QMS547mWqw8RJ-Muba9XNo058E5_oLf-FkHPu8x6kfA,14162
17
+ voxcity/exporter/netcdf.py,sha256=MQhUmyHc_6mVzmlPLIJJQSqATo7AHjkEL-QJ__XViWI,8543
18
+ voxcity/exporter/obj.py,sha256=2LBNF7uJj-myl4AiJsv1yEEa1odT87e0VLvAtdpcEKY,63001
19
+ voxcity/generator/__init__.py,sha256=l11VF8qrSyU-kJUFS4DfzoCGhewPnBeo25RfLxS5LpI,1241
20
+ voxcity/generator/api.py,sha256=S71J4TEyiGYTn0WzALiJRgYtP2mCfRu2jid-xNNRIY8,36127
21
+ voxcity/generator/grids.py,sha256=Ht_XRhbBfEvWvRGTr0U1DEOhtFYHaojuf2lXnOGAT-A,20423
22
+ voxcity/generator/io.py,sha256=hsDeHDKtHQ59hTabYBtrqYeROVjLtxKBcdUY0JVV3cA,3257
23
+ voxcity/generator/pipeline.py,sha256=sCYbxNt1KY1SHGTeIEW8jBfD-yhJHdWIXcKijF4_tjA,11891
24
+ voxcity/generator/update.py,sha256=7udcBckThnffKwe3YQv30G2hSqAVACn2mPL1ZXHtwNE,16157
25
+ voxcity/generator/voxelizer.py,sha256=ym-H4PzvCnEe9UOFzKbaul8u4EyOtjNFANGIXU7kJiA,16197
26
+ voxcity/geoprocessor/__init__.py,sha256=TwFsKhuvZtIC3d_bykvhzJxnxvubHoWeBp3bBbcrw7k,1721
26
27
  voxcity/geoprocessor/conversion.py,sha256=Bdf_SNqOhTqYW44MPLWx6-5iyVmZO2Yy1eZ6pDDgyvs,5007
27
- voxcity/geoprocessor/draw.py,sha256=7RaA3CU9-PZ6crwU_VnAmPguK0tklZ-XvPeAtQMEzdY,51719
28
+ voxcity/geoprocessor/draw.py,sha256=O9bBC4q6xLzGYzN3kJc2Pdxry0D4D_P_ZEcIF-1M2qg,62781
28
29
  voxcity/geoprocessor/heights.py,sha256=cAksRWaLPFKhv9YsMybT0DCMyuE9WNajRXHpRFbSyN4,8636
29
30
  voxcity/geoprocessor/io.py,sha256=iLoip3NXuyj7mk4xvRPMnouIVoR0swzIdrg6R08D68I,3427
30
- voxcity/geoprocessor/merge_utils.py,sha256=5-hGvkijECYufHra2C-fSSZViEhgsdeg0EdfZIVtGCs,3068
31
- voxcity/geoprocessor/mesh.py,sha256=zu5hWOs5rWXYNmKXpI7mFY3CJRud0qL8a1YulZBJdCs,32107
32
- voxcity/geoprocessor/network.py,sha256=X84aJz9MqrN6pP1bEzCmpOXhz5RWS4di655rY1vQNO0,25932
31
+ voxcity/geoprocessor/merge_utils.py,sha256=OKMSUAEE9jPiNslzDjWOxrP3s-VSxhEVkWVmDMmbjrI,3159
32
+ voxcity/geoprocessor/mesh.py,sha256=exKl8MagO7jizjebbGNfVJjGRxBv1eH1t5nt7dR1g3k,32913
33
+ voxcity/geoprocessor/network.py,sha256=hNgovcCDZFZzBM1dF3gu02Bk13sNxH90HrRtd7nOKQw,26640
33
34
  voxcity/geoprocessor/overlap.py,sha256=taWkqtS79gL-QBClPboz8XzqARO5BwqaTA4iTHvkRfI,2783
34
35
  voxcity/geoprocessor/raster/__init__.py,sha256=3f1qGOsM0kpfa7lw4k-uYqXwuN0Eaxp7WcWUcpgEtCs,2287
35
- voxcity/geoprocessor/raster/buildings.py,sha256=po4ip8sIGwpb7FrG1IilGMpgWQ8XpsuLxjVC6YmVxjA,18845
36
+ voxcity/geoprocessor/raster/buildings.py,sha256=0y7IakrQg_-1NV4pvSjQoRXalWxzjshY0hpjUWz9qlk,19647
36
37
  voxcity/geoprocessor/raster/canopy.py,sha256=DvDB8mT_fY9NaJjanEbv1DCaR9Ceqjn0AIxqiHy4jbs,9668
37
38
  voxcity/geoprocessor/raster/core.py,sha256=NcT-DRXnjacDYkR5k5FfsPbh4nw1NBGluQBXwO9Y4cM,5441
38
- voxcity/geoprocessor/raster/export.py,sha256=eNsrD3IsS-DqK8aSp2MQz7c_a01YcOyPMRxScUMyVR0,3538
39
- voxcity/geoprocessor/raster/landcover.py,sha256=JgLOI1drY2h6zAGAhYgrLK7ofq4vfGWIIWpUodQaORM,6313
39
+ voxcity/geoprocessor/raster/export.py,sha256=DCSToWKz249LlnhNShYCE6Ll_9I1d_wcQLzMHHOlQ5Q,3631
40
+ voxcity/geoprocessor/raster/landcover.py,sha256=IzGogo2ZMRPrd7qDtgxAiNb21g4I_JjJ4daLKssvBs0,6492
40
41
  voxcity/geoprocessor/raster/raster.py,sha256=KLo1Z4-cztX8GLJ-mwYlbPvn1BGCIH7QwfrJDtD3miI,4425
41
42
  voxcity/geoprocessor/selection.py,sha256=NE2Z0Y1IJkBPB3dEvk0yzZoye9WWGjJVm9xj6m71ZiI,2672
42
- voxcity/geoprocessor/utils.py,sha256=gnFxxN9LBwzRXprKuJdq-FGpJ18ztXL3lnwHJ9Ma7Sk,31574
43
- voxcity/models.py,sha256=FRWpOQHCISOVQ2UUQiUNFCTn_-oSSA5pea21OOl_eB0,2783
43
+ voxcity/geoprocessor/utils.py,sha256=YrGnubtBKsGocEZx9a2v8Prx1aiXtN_BCB_DWgvaB-w,32398
44
+ voxcity/models.py,sha256=2l070TW4envQ18Pu2tQcFVX0i8GYs7hd6nH1nsfpp9Y,2896
44
45
  voxcity/simulator/__init__.py,sha256=APdkcdaovj0v_RPOaA4SBvFUKT2RM7Hxuuz3Sux4gCo,65
45
46
  voxcity/simulator/common/__init__.py,sha256=Yi5h8DtLFUB8T6TsmDeVxuafjcwzpRXXgsN5nmvJLJk,486
46
47
  voxcity/simulator/common/geometry.py,sha256=Zb9nI6q7lPcnX5O9YC-yMwhvYw6QtqxZN468Ikh82yE,3414
47
48
  voxcity/simulator/common/raytracing.py,sha256=j9QiI9NIzqkIm8MOipqJCJeFtPWPTYxeAh-wP_lkAek,16343
48
- voxcity/simulator/solar/__init__.py,sha256=HkwRGMKmi3LvtziS2Ja8tJetBMqhGA4EoGujrQIn7HU,1256
49
- voxcity/simulator/solar/integration.py,sha256=EtAbb139il6htXr1_R6wwqVof-I47TsJShwybuFJLa4,13531
49
+ voxcity/simulator/solar/__init__.py,sha256=uG1PXEwE3137WE_DgSo8Q7evUNdnfuJhNjE-2HfHUZQ,1960
50
+ voxcity/simulator/solar/integration.py,sha256=W9NfGTpE_OcBulUfw9b3xM68hR8WuMbXi9_80-viufw,13867
50
51
  voxcity/simulator/solar/kernels.py,sha256=SLglw8dyIYdG8eN65aQsqTd4PmEuX2tkdwXJgPZ3Y3Q,2158
51
52
  voxcity/simulator/solar/radiation.py,sha256=woSTmiDEUrGMGJyDsWr3kWL5wISMUBZuqc0KdoYJblk,22576
52
- voxcity/simulator/solar/temporal.py,sha256=exqf1U6pQbsiqjtvWcqqcOx-dQGlVOJfeOj22j3bmqU,17652
53
+ voxcity/simulator/solar/sky.py,sha256=QqijmqEkMrGVIcxUYpjarkZ-Ed_MaSSrFW9wQUsikzE,23035
54
+ voxcity/simulator/solar/temporal.py,sha256=wwooPqX8BAyNh9O1vAYZLuEkbvqAijJBsgD0Ku5GVTo,33998
53
55
  voxcity/simulator/utils.py,sha256=sEYBB2-hLJxTiXQps1_-Fi7t1HN3-1OPOvBCWtgIisA,130
54
56
  voxcity/simulator/view.py,sha256=Shqn7rFhhzCEPYHTu8Wg-6uCZ8SNrPCODY4sYzk8MmI,1058
55
57
  voxcity/simulator/visibility/__init__.py,sha256=mpBVeZO3IRJAcEX8fookdDgquBVKvzCRuNMNM4jrD_4,664
56
58
  voxcity/simulator/visibility/landmark.py,sha256=E0bpivtjt9oJop0zsvWXE693o-RebU66H_EbLKlPDXk,17542
57
59
  voxcity/simulator/visibility/view.py,sha256=w_zPmMxyHdwTURBowX-AhlvHEBjSCUsEpt865-eoBHE,21642
58
- voxcity/utils/__init__.py,sha256=Q-NYCqYnAAaF80KuNwpqIjbE7Ec3Gr4y_khMLIMhJrg,68
59
- voxcity/utils/lc.py,sha256=722Gz3lPbgAp0mmTZ-g-QKBbAnbxrcgaYwb1sa7q8Sk,16189
60
+ voxcity/utils/__init__.py,sha256=h9WBvqn7eLHravfFg_d1A3jDPld_EzLhbSIavzd_TAg,334
61
+ voxcity/utils/classes.py,sha256=U2WJsUVd6xaBj7xacehLedQMc6NegMXG7Jf8QK5fE40,6259
62
+ voxcity/utils/lc.py,sha256=iRPjHcdIqF7fvIs8jCbez9x8JF762KRcqYee6HkVP2A,18096
60
63
  voxcity/utils/logging.py,sha256=BZGOSKrAh_aBrNgVD_jX5lJXAOc4wkTuB0R_fbp3DBU,1652
61
64
  voxcity/utils/material.py,sha256=H8K8Lq4wBL6dQtgj7esUW2U6wLCOTeOtelkTDJoRgMo,10007
62
65
  voxcity/utils/orientation.py,sha256=sVV2VipImBsijcJ8gw_uv1zbs4b95QoJf0qC0R39VPM,2014
66
+ voxcity/utils/shape.py,sha256=IRNnlAF506fQwRDXrSNupsq4lVs4dY3YkeLMSaTO_1g,7713
63
67
  voxcity/utils/weather/__init__.py,sha256=r8Qrybs1lSsFbi9_HRmEmi9oVLXSaYi_fBYk8UMZ_Tk,722
64
68
  voxcity/utils/weather/epw.py,sha256=f2u7jzwYd7Kb5L7cCkyrBiKPN7iE5gk81luOXjAQRKM,5424
65
69
  voxcity/utils/weather/files.py,sha256=ogbfCX-5wBF_fhb3pJa2-71yDT8SlV1JSqna-QwyIR0,987
66
70
  voxcity/utils/weather/onebuilding.py,sha256=WWococ9NWU54_ATIy_59ZE_Wkfk8WkB2nAf3j-X5BFM,24695
67
- voxcity/visualizer/__init__.py,sha256=NMj0IF7ckWoTs-WyWp4VWlzQqi0VdjmTq1_EnPGF-2E,957
68
- voxcity/visualizer/builder.py,sha256=4vpfAZcpq844gNQBtYWucDl2oWyv5US18QTDfz18SvU,1368
69
- voxcity/visualizer/grids.py,sha256=x02KiK6NbhvBK6qDlLWDBGqcz6TH8HHc7z_8j3Lgo7c,6849
70
- voxcity/visualizer/maps.py,sha256=OeoEaYjCOgeveuTmEa62hFFVCXZzOo6JTZ3bv4Zxelo,8803
71
+ voxcity/visualizer/__init__.py,sha256=N02juUFewmt-QoZMVc1cE2h-PwWiNeGS7MbjGhihZH4,981
72
+ voxcity/visualizer/builder.py,sha256=S-tbGGerrxjfjm4xshvp4_j7Qk7vJzcNgYCPww1bQ4c,1411
73
+ voxcity/visualizer/grids.py,sha256=Hi5ZbTy5oYLYFOSJDFBmMjFCwLr9F6de6UT1VjzGvNc,6990
74
+ voxcity/visualizer/maps.py,sha256=0Dm-4LM9uOI-FX7MlEQKPyf_g9mFMoGtKSDdwN9lsuE,8990
71
75
  voxcity/visualizer/palette.py,sha256=ThZQlLwUSSfN516h9DyMry0CTYJVXeJDdL7oP41_zKg,7088
72
- voxcity/visualizer/renderer.py,sha256=CdPmMW6EG6tLhYwPHNRTO-_trsgF8ZsIC6NQA2WMVuY,38363
73
- voxcity-0.7.0.dist-info/licenses/AUTHORS.rst,sha256=m82vkI5QokEGdcHof2OxK39lf81w1P58kG9ZNNAKS9U,175
74
- voxcity-0.7.0.dist-info/licenses/LICENSE,sha256=s_jE1Df1nTPL4A_5GCGic5Zwex0CVaPKcAmSilxJPPE,1089
75
- voxcity-0.7.0.dist-info/METADATA,sha256=4bh9kbAtjLd_gh5EDfed7oz74MaAaSNyy_Qyb_X9oGA,28375
76
- voxcity-0.7.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
77
- voxcity-0.7.0.dist-info/RECORD,,
76
+ voxcity/visualizer/renderer.py,sha256=ul97UUrPQkJt259vf5v7iEUkZC2EnJs_EsLESJe6xcU,48980
77
+ voxcity-1.0.2.dist-info/licenses/AUTHORS.rst,sha256=m82vkI5QokEGdcHof2OxK39lf81w1P58kG9ZNNAKS9U,175
78
+ voxcity-1.0.2.dist-info/licenses/LICENSE,sha256=s_jE1Df1nTPL4A_5GCGic5Zwex0CVaPKcAmSilxJPPE,1089
79
+ voxcity-1.0.2.dist-info/METADATA,sha256=kb2RduAo88LITMRWOaZ58KSX7VP5EaEDzvaqoorcEWc,28809
80
+ voxcity-1.0.2.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
81
+ voxcity-1.0.2.dist-info/RECORD,,