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.
- voxcity/__init__.py +14 -14
- voxcity/exporter/__init__.py +12 -12
- voxcity/exporter/cityles.py +633 -633
- voxcity/exporter/envimet.py +733 -728
- voxcity/exporter/magicavoxel.py +333 -333
- voxcity/exporter/netcdf.py +238 -238
- voxcity/exporter/obj.py +1480 -1480
- voxcity/generator/__init__.py +47 -44
- voxcity/generator/api.py +721 -675
- voxcity/generator/grids.py +381 -379
- voxcity/generator/io.py +94 -94
- voxcity/generator/pipeline.py +282 -282
- voxcity/generator/update.py +429 -0
- voxcity/generator/voxelizer.py +18 -6
- voxcity/geoprocessor/__init__.py +75 -75
- voxcity/geoprocessor/draw.py +1488 -1219
- voxcity/geoprocessor/merge_utils.py +91 -91
- voxcity/geoprocessor/mesh.py +806 -806
- voxcity/geoprocessor/network.py +708 -708
- voxcity/geoprocessor/raster/buildings.py +435 -428
- voxcity/geoprocessor/raster/export.py +93 -93
- voxcity/geoprocessor/raster/landcover.py +5 -2
- voxcity/geoprocessor/utils.py +824 -824
- voxcity/models.py +113 -113
- voxcity/simulator/solar/__init__.py +66 -43
- voxcity/simulator/solar/integration.py +336 -336
- voxcity/simulator/solar/sky.py +668 -0
- voxcity/simulator/solar/temporal.py +792 -434
- voxcity/utils/__init__.py +11 -0
- voxcity/utils/classes.py +194 -0
- voxcity/utils/lc.py +80 -39
- voxcity/utils/shape.py +230 -0
- voxcity/visualizer/__init__.py +24 -24
- voxcity/visualizer/builder.py +43 -43
- voxcity/visualizer/grids.py +141 -141
- voxcity/visualizer/maps.py +187 -187
- voxcity/visualizer/renderer.py +1145 -928
- {voxcity-0.7.0.dist-info → voxcity-1.0.2.dist-info}/METADATA +90 -49
- {voxcity-0.7.0.dist-info → voxcity-1.0.2.dist-info}/RECORD +42 -38
- {voxcity-0.7.0.dist-info → voxcity-1.0.2.dist-info}/WHEEL +0 -0
- {voxcity-0.7.0.dist-info → voxcity-1.0.2.dist-info}/licenses/AUTHORS.rst +0 -0
- {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.
|
|
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",
|
|
334
|
-
"
|
|
335
|
-
"
|
|
336
|
-
"
|
|
337
|
-
"
|
|
338
|
-
"
|
|
339
|
-
"
|
|
340
|
-
"
|
|
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
|
-
#
|
|
344
|
-
|
|
345
|
-
|
|
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
|
-
|
|
348
|
-
generate_edb_file(
|
|
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
|
-
#
|
|
365
|
-
export_obj(
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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={
|
|
591
|
-
|
|
592
|
-
|
|
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=
|
|
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=
|
|
14
|
-
voxcity/exporter/cityles.py,sha256=
|
|
15
|
-
voxcity/exporter/envimet.py,sha256=
|
|
16
|
-
voxcity/exporter/magicavoxel.py,sha256=
|
|
17
|
-
voxcity/exporter/netcdf.py,sha256=
|
|
18
|
-
voxcity/exporter/obj.py,sha256=
|
|
19
|
-
voxcity/generator/__init__.py,sha256=
|
|
20
|
-
voxcity/generator/api.py,sha256=
|
|
21
|
-
voxcity/generator/grids.py,sha256=
|
|
22
|
-
voxcity/generator/io.py,sha256=
|
|
23
|
-
voxcity/generator/pipeline.py,sha256=
|
|
24
|
-
voxcity/generator/
|
|
25
|
-
voxcity/
|
|
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=
|
|
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=
|
|
31
|
-
voxcity/geoprocessor/mesh.py,sha256=
|
|
32
|
-
voxcity/geoprocessor/network.py,sha256=
|
|
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=
|
|
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=
|
|
39
|
-
voxcity/geoprocessor/raster/landcover.py,sha256=
|
|
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=
|
|
43
|
-
voxcity/models.py,sha256=
|
|
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=
|
|
49
|
-
voxcity/simulator/solar/integration.py,sha256=
|
|
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/
|
|
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=
|
|
59
|
-
voxcity/utils/
|
|
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=
|
|
68
|
-
voxcity/visualizer/builder.py,sha256=
|
|
69
|
-
voxcity/visualizer/grids.py,sha256=
|
|
70
|
-
voxcity/visualizer/maps.py,sha256=
|
|
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=
|
|
73
|
-
voxcity-0.
|
|
74
|
-
voxcity-0.
|
|
75
|
-
voxcity-0.
|
|
76
|
-
voxcity-0.
|
|
77
|
-
voxcity-0.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|