Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.0.2 draft #36

Closed
wants to merge 11 commits into from
Closed

v1.0.2 draft #36

wants to merge 11 commits into from

Conversation

springmeyer
Copy link

v1.0.2 proposed

  • Clarifies winder order expectation for polygons
  • Adds raster property on feature

/cc @mourner @jfirebaugh for review.


Geometries are stored as an a single array of integers that represent an command,x,y stream (where command is a rendering command like `move_to` or `line_to`). Commands are encoded only when they change.

Geometries with multiple parts (multipoint, multiline, or multipolygon) should be encoded one after another in the same `geometry` field and therefore are "flattened". Geometries with only a single part will have only a single `move_to` present. For multipoints and multilines a repeated `move_to` will indicate another part of a multipart geometry. For polygons a repeated `move_to` will indicate either either another exterior of a new polygon part or an interior ring of of the previous polygon part. The winding order should be used to distinguish between the two types: polygon interior rings (holes) must be oriented with the opposite winding order than their parent exterior rings and all interior rings must directly follow the exterior ring they belong too. Exterior rings must be oriented CCW and interior rings must be oriented CW (when viewed from the "top")
Copy link
Member

Choose a reason for hiding this comment

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

must directly follow the exterior ring they belong too

typo? "belong to"

@mourner
Copy link
Member

mourner commented Oct 19, 2015

This looks good to me. 👍

@paulmach
Copy link

Flyby comment.... What's the suggested format for the raster data? And is that info supposed to be encoded in the tags?

@ycabon
Copy link

ycabon commented Oct 23, 2015

The improvements make sense 👍


Geometries are stored as an a single array of integers that represent an command,x,y stream (where command is a rendering command like `move_to` or `line_to`). Commands are encoded only when they change.

Geometries with multiple parts (multipoint, multiline, or multipolygon) should be encoded one after another in the same `geometry` field and therefore are "flattened". Geometries with only a single part will have only a single `move_to` present. For multipoints and multilines a repeated `move_to` will indicate another part of a multipart geometry. For polygons a repeated `move_to` will indicate either either another exterior of a new polygon part or an interior ring of of the previous polygon part. The winding order should be used to distinguish between the two types: polygon interior rings (holes) must be oriented with the opposite winding order than their parent exterior rings and all interior rings must directly follow the exterior ring they belong to.

Choose a reason for hiding this comment

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

For polygons a repeated move_to will indicate either either another exterior of a new polygon part or an interior ring of of the previous polygon part.

In the fourth sentence, should either either and of of just be one either and one of?

@mourner
Copy link
Member

mourner commented Oct 26, 2015

Just wondering — should we also mention that polygon geometries need to be strictly simple?


Geometry collections are not supported.

Geometries SHOULD be clipped, reprojected into spherical mercator, converted to screen coordinates, and MUST be [delta](http://en.wikipedia.org/wiki/Delta_encoding) and [zigzag](https://developers.google.com/protocol-buffers/docs/encoding#types) encoded.
Copy link

Choose a reason for hiding this comment

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

SHOULD be clipped, reprojected into spherical mercator

Geometries are stored as graphics in the tiles, as they are projected, clipped and converted to screen coordinates.
The client doesn't have to know about what projection the geometries were before that process, as it consumes only the final screen coordinates.
I wouldn't word this as SHOULD IMO

@flippmoke
Copy link
Member

This pull request have been closed with out merging due to the new version 2 pull request #39

@springmeyer springmeyer deleted the v1.0.2.-draft branch October 26, 2017 23:47
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.

9 participants