peermaps / georender-style2png Goto Github PK
View Code? Open in Web Editor NEWcreate a texture png from a georender stylesheet
License: Other
create a texture png from a georender stylesheet
License: Other
We should store raster sprite images in the style png in a section after the point, line, and area regions so that style rules can use sprites for background and foreground images.
One way this could be implemented is to store the image coordinates as the first section and those coordinates can be fed to texture2D()
. This way you can perform two texture2D()
s in the vertex shader for the given feature to load a sprite by its index, and then load the relevant pixel for the fragment shader based on other rules.
Here is an example that specifies 3 images:
[point section]
[line section]
[area section]
[image coordinate section:
0, 0, 1,250, 0,32, 2, 26, // img0: minx=0, miny=506, maxx=32, maxy=538
0, 0, 2, 58, 0,32, 2,106, // img1: minx=0, miny=570, maxx=32, maxy=618
0,32, 1,250, 0,96, 2, 58, // img2: minx=32, miny=506, maxx=96, maxy=570
]
[image data section: // it should look something like this, graphically:
________________________
|img0 |img2 |
|32x32 |64x64 |
|_______| |
|img1 | |
|32x48 | |
| |________________|
|_______|
]
This example uses integer pixel coordinates (in big endian), but we might also consider half floats (in whatever endian).
When a feature uses a sprite (or multiple sprites), it references the sprite by its index in the coordinate section plus a mode (repeat, center, ...). The modes may have additional parameters, such as an offset (x,y)
or even rotations that are static or follow the contours of a geometry.
how to specify which feature labels should show up at which zoom levels?
how to specify at a zoom level, which labels should have priority (aka be bigger). (engine expects to receive labels sorted by number. whoever has higher priority will be rendered first)
more label style considerations:
labels can be styled as such:
in some separate doc:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.