Bump PyPROJ version to 2.1.0, use new Transformer interface. #371
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The internals of PyPROJ changed in v2 in a way that makes our calls to
transform
via Shapely'sops
very slow, as PyPROJ is constantly setting up and tearing down intermediate objects. Since v2.1.0, there's a newTransformer
interface which caches the intermediate objects, which is essentially the same speed as the old v1.9.5 version that we were using.Since we don't need any of the new features of v2.1.0, it's tempting to just pin to the old version, however the reason I picked this up is because our tests in
vector-datasource
don't pin the PyPROJ version, and we ended up getting v2, making the tests about 20x slower. Adding a pin "fixes" this, but it seems like it'd be less confusing for people using the code if the version installed bypip install pyproj
was OK.