Magnacarto – Create map designs for MapServer and Mapnik

Video in TIB AV-Portal: Magnacarto – Create map designs for MapServer and Mapnik

Formal Metadata

Magnacarto – Create map designs for MapServer and Mapnik
Title of Series
Part Number
Number of Parts
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
Magnacarto is a new open-ource tool that makes it easier to create map styles for MapServer and Mapnik. It uses CartoCSS - a styling language similar to CSS - to create both Mapfiles for Mapserver and XML-files for Mapnik. CartoCSS provides powerful functions: You can create base-styles and extend them for specific map scales or attributes. This avoids unnecessary repetition for similar map objects. CartoCSS styles are typically just 1/5th to 1/10th of the length of comparable mapfiles. With variables, expressions and color functions (darken, lighten, mix, etc) it's possible to create new design variations by changing only a few lines of the style. Magnacarto comes with a modern web interface that shows the final map design with MapServer and Mapnik. Live-refresh and multiple map windows makes it easy to directly verify any changes made to the map style. Additionally, there is a command line tools to automate the conversion of CartoCSS to Mapfiles and XML. The presentation briefly talks about the history of CartoCSS and Magnacarto. It shows important functions, how they are used in practice and it discusses the power and limitations of CartoCSS. It will also show new and upcoming features and possible extensions (SLD).
goodness map Computer animation Meeting/Interview format Decision 3rd help results
meta polygons pixels sources range zoom curve water clients Sun Variables Computational round different forest law Functions variations multi Systems man Map map blocking gamma software developers binary code bit part Skeleton job chromaticity symmetries URN Green provide phases connected devices editors regular expressions globaler Computernetze point page sharing file open source Algorithmen 3rd Extremwerte rules value-added product specific subtraction mean Bellman equation level regular expressions editors World Wide Web Consortium Datentypen Maßstäbe complex variables scale servers com clients lines processors binary encodings Word media networks Case function iterators Tabulated frame build attitude code state view time ones set function part semantics languages geo Mathematical Colorspaces smooth library areas services Headers Width format moment open source Complexity menu Variables deg forest types repositories different variations recording filterer Runde digital filters servers functionality map regression trees mud services Tabulated lines moment browsers color Join Emulation second power write Trees iterators strings testing integer rights gamma sharing sup multi cells Bracketing projection expressiveness polygons databases divisions similar Graph-theoretical Computer animation
polygons pixels dynamical systems code Decision time set function solid Outline part semantics Variables Computational geo Mathematical different forest set render pixels Classes Outline Map map Width format software developers binary code effectiveness bit part markup Variables several Green parametrization Key regular expressions curve fitting results geo filterer slides digital filters servers map regexes services file laborers software developers markup lines Drawing browsers bit color rules metadata Emulation elements iterators Radius operation World Wide Web Consortium time rules Sinus servers polygons clients lines symbol Radius errors Computer animation Case function Classes iterators display library
slides pulse file sources set function part rules axiomatic mechanism specific Meeting/Interview different terms vertical areas key format analysis Limit Computer animation vector Case website iOS editors rights parametrization sort geo
choose hello and by amount of the
decision is minus the data from the National Land Survey of Finland and the 1st of all we have political don't culture this is a the feature that don't take my heart to create matched funds for much of the and I think is the result of that sense and get good of you and yeah right I will talk about creating that starting format so far and metonymic with the help of a new
new open-source tool we developed called magna carta a few words about myself a mother tongue of I work for us on the scale which also co-founded the company from all the northern part of Germany we do a lot of open source development client-side server-side we developed also other open-source tools like that proxy in an impossible but we also do on open still provide OpenStreetMap services on maps on the scale of some of the product of us will be provided in the MS services and based on that make but we also have provide custom next services are mostly for agencies governmental agencies are based on OpenStreetMap but also on all based in all official data and the and the services are mostly on based on map and so we are in the business of creating on that side OK but what is not account of is the style of processes so it is similar to time or Cato's a tool on at the company and Carter is a tool that is behind time will end up you might know this tool and die magna carta something similar it reads chorus codices SSM mark up to define next styles it is similar to CSS and the market to style what pages and I I will go with a into a few details of course he's as an imminent court then converge chorus S and 2 magnetic XML files and you can use of this the styling to them to produce maps with with semantic and does is something that time encounter does as well what is unique with magna carta is is that it also writes maps files so you can have the same styling was map server and magnetic might encourage is a command-line tool you can you define your style income uh just call on was a builder in this case an map server and get a map file and it's uh similar to what was meant extreme attitude it just choose another building and give the output for for but the catacombs also was a web client this web client that allows you to have multiple interactive map views on i supports automatic reloading so assuming that he make this a simple change styling all the map views are update you can edit layers and then this web client of create new layers modifies and we order them so but the court is not pointing click so there's no well color chooser like like you used to uh in like in Q GIS itself it is YOU it's bring your own editor so you can use a tool you're most familiar with and if you have the idea that you can use the ifyou're you're in you can use the that's on yeah you can use the editor neural you working on your the most common confortable with currency is on the market is really powerful and some but it has the steeper learning so and as a sentence not point-and-click it's let you sit down and your computer and just click the map together itself we need to somehow learning so it is not the right tool for building if you just want to build a simple map was just a few of them and displaying on some a few points of interest or just and industry to Tadiran but is it is the right tool to build complex basement and of the OpenStreetMap project for example they have a complex phase and they do we actually use chorus s for creating their the map styling and down but to give you impression of how much easier somehow it is to style maps with the currency it was really a project cargo owner of files are about 7 cells and lines and this generates a 35 cell lines of magnetic XML you can imagine that it's easier to maintain and work with 7 thousand lines of code and the mind set of 35 so mindfulness now a little disclaimer the OpenStreetMap CodeProject they use the Carter tool to build the actual automatic XML files are but you know there are continuous that used mark Mercado to and to test style changes of locally Monica is really fast so this starting the tool a command line tool that is still within within a few milliseconds and even building complex Stylz was monocot elected OpenStreetMap styling just takes about a 2nd and how to itself takes up 7 8 9 seconds for the same styling that this is really essential for doing rapid iteration because anomaly on you know writing down the style and you're done you just you have to tweak it you have to and adjust the colors a tiny bit of the world with and you get so it's important that this is a really fast so how did get started bombing you can go to my account but now it's just for forward to the bit of repository is open source on is written in gold we provide binaries for Linux Mac OS and Windows you get on the command line tool monocot and also the what client and the web client also we cry as either of the that soft binary or if you want you all of you will and Mécanique maps in the web client then you also need the Magna Carta romantic binary which we at the moment do not provide as a binary it so you have to compile that on your so how degree maps starting step 1 is to create a hard to define the layers you can do this wasn't mn mail file and I occurrence support
Jason and jumbled from off for that and this is so-called basic on basic layer it's getting name geology tribe in this case line string of data source and this cages I suppose GIS database and here we find occurring so we can just say OK we want the data from the world table in this case we also filled the web client you have a lot well formal way kinda and define of the decreases even most of the letter was sent on and step 2 is to style will the you write 1 or more and as as files that basic MSS far looks like this in Galileo and you need a reference layer name and then define all the style options for this layer and then and there are quite a few available side options but these are for all possible things you can do with our automatic for example and up football polygons for example this is a lot shorter and and the common polling inspired by just basically only the film was most important opacity that maybe gamma and so you have to you have to remember these things and the set before and there is a learning the learning course and but and most most of these options are pretty easy to remember so how to style the polygon and this is the In this case we have an area layer and we just say OK we want a polygon fill with this color and that then you can generated was was Mercado this dialog on this file format make an XML format and this is for for natural but the classical my Ricardo also produces a the rest of and so the layer definition that all the outputs and also as an XML or as much fun but i did show that here and in the end you get a green pollen and 2 the how the stylized is similar you are defined in line with this and the line color and um here here we have to know what they are simple road network but of course of the maps should look a bit different you don't wanna have all roads the to look the same so you can have filters armed with filters using square brackets and what the type in this case is cut this of the column name with from the database and with filtering on motorway and primary incentive motorways of rat primary the blue and we get this block format so about was expressions with this filter is inserted and we have our final styles for different maps is normally you say I'm OK 1 to have my buildings only from system level on all want to have some my my my rules within a specific zoom range and in a different style and you can do this with the always assume filters and they are converted to the skeleton in the native filters and format server then you can combine multiple filters by just adding more and more filter and it gets converted to and expressions on yeah or folders of so you can just add more audible water layer and fugitive emissions for for the same style and does nesting is another really important features so you can you can have the base options for the rows player and then you can define OK but motorways should all the same but with line was of 10 and the primaries was aligned with the red so you don't have to for all layers you don't have to work in this example I've heard aligned Kevin line joint should be round and the need to define this for for every hour and for every time I just stupid ones and this is really a powerful powerful features variables also really really useful and when you work with some more complex map styled just signed the state of it and then the variable name defining for for the works for for all variables color is an integer values FIL terror and diluted we ransom was enacted again it grew world was at aromatics so you can say OK my motorway should be 1 pixel wide you can do multiplication subtraction division colour functions s supports a few functions that work on colors like the light and dark things February desiderated there's a mixed function so if if 2 2 colors you can can mix them and uh and this is really handy if you wanted to and produce good-looking maps was different colors so in this case I defined that graph should be green and down here i have a us we polygon types of Park forest and symmetry and say OK on the forest should be the darker and symmetry should be a bit lighter but I only defined green 1 time and then you have different different colors for for these different types and there is even more perceptual color functions are there and ending with a piece of Woodstock and P. enlightened P and they to build the issues choose a bit nicer colours they don't work on on our RGB color space like these regular functions and what's now important is you can let you styles into multiple files you can have a pellet of M as far where defined all variables and then you have for example only for the area's 1 of a style file and can just changed 1 single column the very for graphs and now we have a set of greenish may you can have a brownish maps so this is really the to to get the new style variations you can
combine and it even combined stars like you we have aligned uh solid line and polygon fill so we end up yes you get a result like this we can have multiple styles this case here I have some the love of bold all line in in that all the line of the dashed line and we can do this by prefixing the you fill and line options but was with a name like babies and he dashed and get when it 1st this gets when and then this again on top you can also use it to learn to style outlines road outline and normally you have you you drawing of a white black line and then a little bit smaller line in the middle are to to get this and but at least was metadata you getting because each style is that each geometry is rendered by 2 times the directly out of the yeah and data and rendered directly and done so you have these up the on effects you can work around that by rendering the same layout tries this is called attachment and currency assessed you just say roads on outlined in roads to 2 columns in line and then you have that everything 1st year and all the elements and the online there are also classes classes so that you can assign every layer that uh multiple classes and with this you we we say OK all all layers that are in the label class should use fond of this fund name this basic font sizes color and then we can I'm just create all along latest role labels and place labels just override the the option that especially was easily and was a tiny little bit more of work you get a complete map of course it a little bit more work and this is rendered with is that was map server and this is actually rendered was maddening so old they are actually looking really simple and they are actually not pixel perfected at least for 4 lines and pollen they do use the same rendering library behind and I'm so yeah you can have the the same that identical map was was so map server and was not me and text labels are different because they have different algorithms for for placing the label but the quality of least since map service 7 this this set is equal there are there are a few differences differences between our maps and that it at the font sizes are based on on different DPI assumptions I hate sizes and when users radius and the other of the complete with of my account accommodates these differences and right now medicine re ferents so decide format server map files are are adopted so that and when you say a clear of but I have a font size of 10 then the font size and the mapped file will be different but just that the output from magnetic and maps so will the same but that we might make this optional in the future other differences there are a few advanced and features in that enable or map server and they're not supported like our labor leaders or dynamics symbols here are you can't come bright that in currencies so this is not not supported and data-driven styles it's possible to say OK the line with I don't define that line was it 10 out of 10 pixel but the line was actually used in the and that with column and Informatics reuses supported from newly all of parametres map server are also supported for a lot of but for a lot of style parametres happening right now this is not not supported for for for most style options in an article but the future but it is still the dominant MIT make them and map server and forests our are not shown in the web client you have to switch is of course come like change that but we still haven't done any official we or we provide binaries but not an official 1 . 0 binary then down young we still have to work on the documentation specially documenting on the available style options and all the differences between semantic map server and then we might add more all altered do right now we have a we have builder for some massive that but we have gathered it would be possible to to add to builder for G several changes as upper layers it says that we have limited resources and but and so these out the builders warned that happened just by so we would need to contributors and or sponsors for that and I I guess some of you are developers here in this room so the hardest part is already solved we pass on his years as a result of all the variables expression etc. the and you just get a set of simplified rules and to create our new operability just take the results from current from from among the coral iterate over the latest iterate over the on yes sorted already sorted filters and and and rules and for example the map server that builder they're they're only on about a thousand lines of code in a lot of this code is just a really simple simple lines so yeah last slide summary currency as is a powerful tool and to powerful market to create a map styles and demand Cardoza to all of that works with this markup language and right now works with Napster and that make and know I it is fast and extensible and time I hope you all try it out so long they say that
the thing you literally have tons of Christians thus compasses supported through cascading like in the assistance from the weather like ruling with each other in terms of specificity of fighting each other so if 1 is more specific than the other will there so you can now the evidence of cascading of sort of like what I had on my my nesting on and on the nesting slide so you can can necessary this styles and you can have the same rights styles for the same layer in in different files and yeah so the the the ordering and know it's it's important most of the you and since there are still some differences between the areas that the again and the server and and there will be more maybe if you stick to the outputs you have a mechanism to right vertices is that some some of the site is aligned with the political it to the Geo IP is formats are allowed to use this for in year you can do that in the building and we're actually doing that in the limit so well we we compensate already a few differences between that 7 that and this is all this all happens inside the reason below so that we have 1 maybe this is 1 more and then the supports more input sources and my question can also start electric pulses mother corpus Cincinnati could support of the input or the files really 1st support so that the thing I'm basically the layer definition is more or less directly past to and to work Our to too many Excel and to the legislation I could specify vector scientific by and I'm not sure if it works with was and it should work with monica as well because in the in the layer definition of the MML file just writing down key values and Q values are passing the axiomatic analysis parametres so I was like this and the reason that the that it might work as you said that you can use whatever editor you want which is the editors to actually have syntax highlighting for part of users I'm using Sublime Text Editor and if this supports accelerating text made but I don't know how it will evolve the iris although that does exist that I don't know because it is also usually use whichever you make some knowledge so that you don't support topics and the analytical so try and have been looking for 1 maybe at I don't know what this is the sort of question we can take 1 more on the right competencies suspect the owner of the science of how it's more than our fair if was going set of the the output would look completely the output would look completely different because in so here in this of liked it creates a set of simplified rules and so this is even if it's would support and currency as as an art and you would just have usually of of really simple rules and but a lot of duplicated rules so all the of all the cascading the nesting of would would be would be lost again thank you once again