use polylabel for address point from polygon #12
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.
When an address source contains polygons, currently PointOnSurface is used to convert that into an address point. In this example below, the blue dots are centroids based on the polygons shown behind (importantly these are not the result of this batch code, as this example is from a point source).
While this is okay, a nicer location for the address point would be more where the background map shows it, closer to the pole of inaccessibility as created by polylabel.
While there is no single correct location of where the point should be located, indeed different applications would want different locations like:
This PR is not complete (I haven't added shapely as a dependency, or done any testing yet, and I haven't yet looked at actual results from PointOnSurface and how it compares with Polylabel results for real world data) but shows in principle a potential change.
Not sure what kind of performance hit this would have.