Open TheCedarPrince opened 5 months ago
That sounds good! This would be the basic functionality, right? And then some layer on top which does geometry corrections etc.
Exactly. I am breaking these tasks out very granularly such that they could be worked on somewhat independently. But yea, they'll compose together at some point to do exactly what you are thinking about.
Note here that any downloaded zipfiles must have a .zip
extension for Shapefile.jl to be able to load them properly after JuliaGeo/Shapefile.jl#113 lands. I can probably also add a dispatch for ::IO
objects there, but that would be in the next release after.
You might want to look at GADM.Jl for inspiration. That is doing something similar for the GADM dataset.
That's a good call @felixcremer -- thanks to you as well as to @asinghvi17 's note about zip
and Rasters.jl.
Quick question @asinghvi17: do you know of any methods for showing a progress bar of a download? After googling a bit, I couldn't really find anything in existence for Julia unfortunately.
I believe Downloads.download
has a kwarg progress :: (total::Integer, now::Integer) --> Any
, which could be given as a local closure that increments a progress bar...
ProgressMeter.jl structs are mutable as well, so you can set n
directly in the closure.
Issue Description
Difficulty: Beginner
Time: 10 hours
Description: This issue aims to create a Julia function within our geospatial package that can download shapefiles from the TIGER database based on pre-defined URLs. The function should allow users to control various aspects of the downloading process, such as refreshing cached data and displaying progress bars.
Requirements
refresh
downloaded dataprogress_bar
option to display download progress.Expected Outcomes
The created Julia function should:
The API could look something like this:
And then when you run it it would look like this: