Skip to content

Implement an explicit ordering for layers#42

Open
gravitystorm wants to merge 1 commit intosystemed:masterfrom
gravitystorm:layer_order
Open

Implement an explicit ordering for layers#42
gravitystorm wants to merge 1 commit intosystemed:masterfrom
gravitystorm:layer_order

Conversation

@gravitystorm
Copy link
Collaborator

This is my approach for resolving #33 .

I considered the alternative approaches discussed in that issue, like adding an integer "sort order" to each layer, but I felt that was hard to manage. I've gone for the approach that I discussed of having an explicit central layer order. This is also how cartocss works, so it's not a novel approach.

This PR adds an optional "layer_order" method. If this is omitted, then layers are outputted in the order they are defined. If the layer_order is defined, then it used instead of the natural sort order, and any layers not mentioned are not found in the output.

There is also some handling of automatically generated sub-layers. If only the parent layer is mentioned, then that layer and all of the sublayers are outputted. If a sublayer is mentioned, then all sublayers are treated independently and must be explicitly mentioned.

I'm using this code in production with my Transport style.

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.

1 participant