clarification
This commit is contained in:
parent
58d765b88c
commit
d3d818a57e
10
README.md
10
README.md
|
@ -35,13 +35,17 @@ python3 exfiltrate.py \
|
||||||
--threads 30
|
--threads 30
|
||||||
```
|
```
|
||||||
|
|
||||||
Building the GeoTIFF will take dozens of gigs of memory for any significant extent! For example, a 21 mile extent
|
Building the GeoTIFF will take dozens of gigs of memory for any significant extent! For example, a 336 square mile
|
||||||
required about 400GB of memory. You can use swap for this, but don't expect it to be very quick if you go this route.
|
extent required about 400GB of memory. You can use swap for this, but don't expect it to be very quick if you go this
|
||||||
|
route.
|
||||||
|
|
||||||
|
Be careful not to go overboard with your spatial extent. Use only what you need to avoid unnecessary processing time or
|
||||||
|
else you will end up with a situation where it will take a week to download all the tiles and build a TIFF.
|
||||||
|
|
||||||
### ArcGIS
|
### ArcGIS
|
||||||
|
|
||||||
TODO
|
TODO
|
||||||
|
|
||||||
### Credits
|
### Inspiration
|
||||||
|
|
||||||
https://jimmyutterstrom.com/blog/2019/06/05/map-tiles-to-geotiff/
|
https://jimmyutterstrom.com/blog/2019/06/05/map-tiles-to-geotiff/
|
|
@ -114,7 +114,7 @@ if __name__ == '__main__':
|
||||||
print(f' {num_cols}x{num_rows}')
|
print(f' {num_cols}x{num_rows}')
|
||||||
|
|
||||||
# Create an empty array to store the image data
|
# Create an empty array to store the image data
|
||||||
print(f'Allocating an array with the shape {num_rows * tile_size, num_cols * tile_size} and dimension 3...')
|
print(f'Allocating an array with shape {num_rows * tile_size, num_cols * tile_size} and dimension 3...')
|
||||||
image_data = np.empty((num_rows * tile_size, num_cols * tile_size, 3), dtype=np.uint8)
|
image_data = np.empty((num_rows * tile_size, num_cols * tile_size, 3), dtype=np.uint8)
|
||||||
|
|
||||||
|
|
||||||
|
@ -149,8 +149,10 @@ if __name__ == '__main__':
|
||||||
|
|
||||||
with ThreadPoolExecutor(max_workers=args.tiff_threads) as executor:
|
with ThreadPoolExecutor(max_workers=args.tiff_threads) as executor:
|
||||||
futures = {executor.submit(build_tiff_data, task) for task in tiles}
|
futures = {executor.submit(build_tiff_data, task) for task in tiles}
|
||||||
for future in tqdm(as_completed(futures), total=len(futures), desc='Building TIFF'):
|
bar = tqdm(total=len(futures), desc='Building TIFF', postfix='There may be a lengthy startup time, please be patient!')
|
||||||
pass
|
for future in as_completed(futures):
|
||||||
|
bar.set_postfix()
|
||||||
|
bar.update()
|
||||||
|
|
||||||
# Transpose the image data array to the format (bands, rows, cols).
|
# Transpose the image data array to the format (bands, rows, cols).
|
||||||
print('Transposing...')
|
print('Transposing...')
|
||||||
|
|
Loading…
Reference in New Issue