Skip to content

Expand CI and tests to support GEOS 3.9.0beta1#1041

Closed
mwtoews wants to merge 2 commits intoshapely:masterfrom
mwtoews:geos-3.9.0beta1
Closed

Expand CI and tests to support GEOS 3.9.0beta1#1041
mwtoews wants to merge 2 commits intoshapely:masterfrom
mwtoews:geos-3.9.0beta1

Conversation

@mwtoews
Copy link
Copy Markdown
Member

@mwtoews mwtoews commented Nov 30, 2020

GEOS 3.9.0beta1 was recently announced, which should be paired with the Python 3.9 CI tests.

A few tests were refactored to accommodate the changes:

  • There are a few inconsistencies within the test_create_inconsistent_dimensionality.py suite. I'm not sure if any of these are worth reporting upstream or not. The only exception is for LineString. Some additional tests and comments are added for completeness.
  • The order of union changed, likely a result of the new OverlayNG
  • WKB serialization of POINT EMPTY and POINT Z EMPTY are supported, so do an explicit test/xfail

@coveralls
Copy link
Copy Markdown

coveralls commented Nov 30, 2020

Coverage Status

Coverage increased (+0.03%) to 84.828% when pulling b2b5360 on mwtoews:geos-3.9.0beta1 into 1dc9230 on Toblerity:master.

@coveralls
Copy link
Copy Markdown

Coverage Status

Coverage increased (+0.03%) to 84.828% when pulling 90621c7 on mwtoews:geos-3.9.0beta1 into 1dc9230 on Toblerity:master.

@mwtoews
Copy link
Copy Markdown
Member Author

mwtoews commented Nov 30, 2020

The AppVeyor failure is a known issue with ctest only.

@mwtoews
Copy link
Copy Markdown
Member Author

mwtoews commented Nov 30, 2020

The CI scripts are now closer aligned to what I prepard for PyGEOS, which may allow them to be used with Github Actions, or other CI offerings. This will probably help future CI migrations.

Another key difference is that I've disabled a failure from ctest for the Windows install script. This is intended to be temporary, until GEOS 3.9 is fixed for Windows. Ideally, only clean versions of GEOS should be tested and cached.

Copy link
Copy Markdown
Member

@jorisvandenbossche jorisvandenbossche left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for looking at this!

('LINESTRING (1 1 1, 2 2)', 'LINESTRING (1 1, 2 2)'),
# preserve 3rd dimension
('LINESTRING (1 1, 2 2 2)', 'LINESTRING Z (1 1 0, 2 2 2)'),
]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to be quite inconsistent when an incomplete third dimension is preserved and when it is dropped, right? And also the change with GEOS 3.9 does not seem to make it more consistent

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I call this a minor annoyance; see GEOS trac#1079

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Likely fixed here pramsey/geos@9211fae

self.assertSVG(
Point(7, 3).union(LineString([(4, 2), (8, 4)])),
GeometryCollection(
[Point(7, 3), LineString([(4, 2), (8, 4)])]),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is indeed related to OverlayNG (I once tested this, but forgot to do a PR for shapely to fix it).
The order of the parts of the geometry collection changed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants