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

Allow customisation of pattern files #1529

Closed
nebulon42 opened this issue May 5, 2015 · 16 comments
Closed

Allow customisation of pattern files #1529

nebulon42 opened this issue May 5, 2015 · 16 comments

Comments

@nebulon42
Copy link
Contributor

Currently patterns are PNG and are hard to customise/re-create. Since most symbols will now be SVG (see #1165) and easy customisation is a goal of this style this should also include pattern files.

As there might be problems with SVG versions of patterns (see imagico/jsdotpattern#3) pattern files will probably stay in PNG format also after Mapnik 3 has been released. One solution could be to store the used symbols and the jsdotpattern configuration separately from the PNG file.

@imagico
Copy link
Collaborator

imagico commented May 6, 2015

See also imagico/jsdotpattern#4 and the specific remarks regarding the wetland patterns in #1497 (comment)

@matthijsmelissen
Copy link
Collaborator

I would suggest, for the time being, to at least include the source images and (a link to) the script with which they are generated.

I ran into this while trying to solve #1158. I found this tool, but it took me too long to find out how to use the tool to generate the required image.

@matkoniecz
Copy link
Contributor

jsdotpattern configuration

It may be a good idea to store also jsdotpattern itself ( https://github.com/imagico/jsdotpattern ). It will ensure that there are no problems with a disappearing project.

@matthijsmelissen
Copy link
Collaborator

Note that the licenses are currently not compatible.

@matkoniecz
Copy link
Contributor

Yes, it would require either complicating license description (CC0 except X folder that is licensed as...) or somehow saving it separately (what would be quite fragile).

@imagico
Copy link
Collaborator

imagico commented May 6, 2015

Come on guys - everyone is free to fork jsdotpattern or to host a copy for use, it does not make any difference if it is on gravitystorm's or my account. It is just a tool like others you use during style development (text editor, tilemill, inkscape, gimp, whatever).

And of course (just in case there is any doubt) SVGs generated with jsdotpattern can have any license - this is the free decision of the user. I did not specify anything about the symbols included but right now i would not consider most of them eligible for copyright anyway.

And yes, generating patterns with jsdotpattern is not really easy, especially with anisotropic patterns like the wetland dash pattern and often requires complicated sequences of relaxation with different settings. Anyone is welcome to improve usability and algorithms. But ultimately good design is hard work and only a certain amount of it can be hidden in clever software.

@matthijsmelissen
Copy link
Collaborator

And yes, generating patterns with jsdotpattern is not really easy, especially with anisotropic patterns like the wetland dash pattern and often requires complicated sequences of relaxation with different settings.

I'm not blaming the software at all, but would it be possible to document somewhere the exact steps or input to jsdotpattern that is necessary to obtain the patterns we are using?

@imagico
Copy link
Collaborator

imagico commented May 6, 2015

I suppose so - it would however be a bit like recording the exact sequence of pen strokes in Gimp used to draw a sketch...

And at least while using the standard javascript RNG it would still not be exactly reproducible.

@matkoniecz matkoniecz added this to the Bugs and improvements milestone May 7, 2015
@imagico
Copy link
Collaborator

imagico commented May 12, 2015

The wetland/rock/scree symbols are now available and you can record processing steps and save/share them as links. I have no exact recordings of the patterns used here but the two last examples on my blog post are somewhat similar to what is used for the wetland patterns.

@pnorman
Copy link
Collaborator

pnorman commented May 12, 2015

I think what would be reasonable is to add 2x (or higher) resolution PNGs for use with "retina" tiles. It's not ideal, but I think the best option to avoid jaggedness at higher DPI.

@matkoniecz matkoniecz added the code label Jul 3, 2015
@matkoniecz
Copy link
Contributor

At least svg files should be added. symbols/rock_overlay.png is really hard to modify (tweaking colour etc). SVG file that was used to generate this file would be probably easier to work with.

@matkoniecz
Copy link
Contributor

Also, instructions to recreate svgs probably also should be added in a separate tracked file - not hidden as commit comments like 05462b4

@pnorman
Copy link
Collaborator

pnorman commented Aug 18, 2015

Also, instructions to recreate svgs probably also should be added in a separate tracked file

The patterns aren't simply mechanically generated, I've ended up adjusting based on how the pattern looked, and trying the same sequence of operations a couple different times to find the result I liked the best.

@kocio-pl
Copy link
Collaborator

@matkoniecz +1! If they are complicated, it's even more important to describe them somehow.

I was asking how we should deal with such documentation in general, but with no answer to this moment.

@matkoniecz
Copy link
Contributor

The patterns aren't simply mechanically generated, I've ended up adjusting based on how the pattern looked, and trying the same sequence of operations a couple different times to find the result I liked the best.

Imagico added permalinks (see for example http://www.imagico.de/map/jsdotpattern.php#x,512,jdp6894;g,30,32,32;s,jdp33742;s,jdp81637;rx,250,2,32,32;s,jdp28824;s,jdp59702;s,jdp91550;s,jdp27774;rx,250,2,64,64;rd,1,0,0,tree%20pair,1,5,5,0,jdp48960 ).

@kocio-pl
Copy link
Collaborator

I've just created PR for documenting quarry pattern (#1859). Is there any other missing pattern documentation or we can close this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants