clarification

This commit is contained in:
Cyberes 2023-11-06 20:40:07 -07:00
parent 58d765b88c
commit d3d818a57e
2 changed files with 12 additions and 6 deletions

View File

@ -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/

View File

@ -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...')