Closed dhodcz2 closed 3 months ago
We encountered some problems after updating the dependencies, so as of this pull request we will be using specific versions from pip freeze
until a future version of tile2net allows us to maintain it with less effort.
Specifically, the newer version argh
removes argh.expects_obj,
and there is an issue with the tensorboard in use from runx
as well as well.
Another user added another Source. However when they ran the check, they created a Raster for the entire state of Virginia at zoom=20! I tried this and ran out of memory. Now, a basic check for Source doesn't involve Raster:
Now any pull request made will also run a test that the Source is actually returned when geocoded:
Cache Source metadata locally We cache the metadata for all the Sources to disk so we needn't query the servers every time we test our code.
Improve Source reliability First we georeference whatever the user passed. If there's no matches, we georeference a new address and then use the polygon from that. If still no matches, no Source found. If there's discrepancies, we exclude the Sources that don't have a matching keyword. If there's still discrepancies, we choose the Source whose geometry has the greatest IOU with the georeferenced bounding box.
Fix Virginia coverage When I was testing the new Source added by a user, it was returning correctly when queried by name but not when queried by bounds. The metadata for the Virginia tiles seems to be incorrect. We retrieve the coverage of the dataset with the bounds specified in "fullExtent". If you parse this, you will have the following metadata:
Once you convert this to 4326 it is a full view of the globe. I have hard-coded the coverage for now.
Implement more in-depth automatic testing for Source classes Another user added another Source. However when they ran the check, they created a Raster for the entire state of Virginia at zoom=20! I tried this and ran out of memory. Now, a basic check for Source doesn't involve Raster:
This also highlights the fact that our testing for the Source class is deficient. Now I have automatic testing for any Source class defined:
We also have bespoke tests to assure we're getting what we expect when we pass other things:
All of the tests passed.