Bestand wählen

MapServer #ProTips

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Erkannte Entitäten
yet to people presenting is going to be twice as bad as 1 of get ready for it but mainly which is going to be going over a collection of somewhat new features somewhat old features things that hopefully will make your map server experience better things that we've learned over the years things that work well for us and if you have questions we kind of don't want wait to the end Bascom them will repeat them for the live audience and the recordings but make it interactive presentation don't hesitate to say something if something using area question you want make a comment so yes so yes we should introduces like of about it will allow you to generate an end and I've been asked so using MAP server consider myself power users on the user side of things like I came in into the game with heavy hitters like Daniel more set and as the godfather you once and and and in 2000 and that kind of focused on more than like a city the size of documentation and installation installers in that's me briefly with with most of the time Michael Smith them with the US Army Corps at years we've been and longtime map server uses for since 2001 think about we push a lot of data through maps are a big volume users we run on classified instances unclassified instances the duty uses it extensively it's all over the Army Corps of Engineers its tried-and-true it's tested well and it runs in Unix Windows on Solaris SPARC for us so it's it's 1 of those nice pieces of software that we can deploy anywhere very precise but no while you
are and you geographers wanna get your due dates and data into OpenLayers relief flood and other things like this and this is something that maps are does very well very easily but there's a feature that was added I think in 6 2 4 6 and 4 gr output formats and so you can use a variety of different of whatever OGR supports you can output to map sir through the WFS interface and 1 of the options there is due Jason the so all you have to do is put in your map file from an output format definition for due Jason and then in your w + request add output format you Jason instead of getting XML you're gonna get a nice formatted you Jason's ready for your OpenLayers or whatever type of it'll implementation you want to it the we have a lot
of demos of course the because I think he's the
crazy and and you learned to the if I can find
it was generally not ch ch so that the output format we get that
XML is your standard 1st request XML data that was 1 the
URL for the adjacent just as simple as
that so that's a regular CGI cultur massive within a performer red yet
set to Judaism and you can easily do things like output dish as it shape file for download output to file database whatever OGR right you want to the because of you absolutely can you can add more complex things like the with the end of the you know text like searches full-text searches with that and rejects comparisons and Academy of its operation can be combined with this OK and on another thing that was added fairly recently I don't even think it's in the documentation yet but it's been 6 4 1 is on the ability to use scale tokens this is kind of similar to the described syntax for of allowing you specify multiple different data sources for different scales but here's an example where we have but we had 6 US just hop codes in our map files and body of simplifying and using the skill tokens which the extension of the runtime replacement syntax were able to based on the the incoming skill values that map server computes it will automatically substitute different of datasets and in this case also a different column value but for the labeling for this dataset so we've been able to turn by turn 6 different map file layers into 1 just by using this new skill took an ability called the it's a curator and I get will so yeah really important obviously is a is getting for more information And from masses through debugging and they're using the keyword debug and and so this has been around for a while as I understand it but we sort of enhanced said the documentation around maps of the 5 with but sometimes sort of uh in capturing all these different tricks into 1 document and basically comes down to using a deeper keywords so that the map and an oral area-level less important I mean consider the their level of there's difference you know values 1 2 5 being the 5 being more information than 1 but you can also even right inside the master file get get debugging information from G dealt you're using the appeal deeper at the source of the tricks that low level of developers map server no um but before serve the fireball release with enhanced documentation was captured so that's a nice trick to keep keep in mind but but a massive reuses mailing list followers will will see me every 2nd they talk about the importance of shape than GM like a broken record while he tried it at the command line and so shaped and she's a great uh power to to proactivity to debug the amount file they the the name
of this the command line utilities sort of misleading the Steve shakes his head but you know it should be something like a more means more something like map I G so that the concept here is you know that you pass it a map file you give it a and L put a the image format that doesn't exist in name and then he said that got level in my case I always use dashed map underscore the of 3 and because I want to see some nice information such as speech likely a dropped it's and so he can make sense of that I mean my compiler maybe something regulators as see later 60 . 2 seconds and so you the concept the idea here is we have a map file with hundreds of letters you can really narrow down to this problem where and with no more than a few seconds trust that's that's shape and G. lengths and Mike is also showing that you can actually pass at a later names due to shape energy which is very nice so you can just call and see the the draw speeds for 1 layer by binding you can also pass extents right and Dashiki might might have a in his history so there's just as she was with bounding box and then you get the the speeds at that scale and those of sense and this is pretty critical when you're developing them files and you're testing map files to verify you know that your your map is performing well what we do this all the time we generally have regression tests that were running internal of moderate direction maps to verify that there's nothing going on in later timings that you know something that we know should take 1 2nd to draw on display doesn't also and change to 6 seconds for 10 seconds because somebody dropped an index on some datasets somewhere that we don't know about so this is something we monitor rather have like I think there's 1 more trick we wanna mention I think of verbal substitution the map of yes definitely it's section called runtime substitution in the documentation and 1 thing you do have to do now is a command line meaning like sheep and yeah I would I don't know that a sport and that at the command line like passing passing the primary but as you Jimmy I get the because but we're about to show you how you can pass it at the command this the danger has not but you must be a plant
of because of the the way I was miles multicellular and building where there is light in this led up to the level it is and so a nice trade is master of and often yield you may be but after once in a blue moon you make rational observer in in in your web server anyone or I often want to take out of the the you know you debugging so you want to call it without a web web services the trick is to actually pass the death in each parameter so no headers for map server that's in each inning put your query string passed Christensen through that and that and hopefully and you can see the error of you can you can you can trigger an error that way the command line
and then and then hopefully running through the blood so here's an example Map service and h with the whole query string and you could pass you the pressure runtime parameters in the query string here and it's just gonna run at the command line without the web server involved but that's greater than was the then your back pocket massive destiny each and you're gonna be doing debugging in GDP or other things like that that's typically how you wanna invoke things OK and because it yet because the name of this the I think that you know well this super handy and we just need need check him like so many s Academy they someone really know we could just have a nozzle names we can keep shaped time t and have another 1 that's called mapped i and yeah the hydrogens that would the it is that that's a good time but with family in the 7 process but it was 1 of and so calm so idea of the change in 6 6 0 so this a couple years ago but this really and and for users and people that are being the math files of such as running through the command line and you know we we create a map away at earlier we wanna see it and lively was a map image once a man will we doing the before 6 so we were we made had a local a instance from 2003 or something as well as using a you might add your own open there code but templated you call but since 6 so embedded and into native into mastery you're able to come to call and OpenLayers instance so use the idea here is that you're you're already calling in CGI you're passing a map file you say mode equals map temple equals winners and that triggers the call to uh to a remote open openers no template which actually is wrong on you can see that it does actually need and the Internet to become not fully It's not fully local come you here might find that it it it reaches out to map server that ought to get the correct so OpenLayers javascript library which is getting a little old at this point it's not the layers to 2 . 1 instance are probably in the next 7 . 2 were 7 something release will operate that OpenLayers 3 but I given work just and sometimes they might like go here all the all because everything's local bearing backed up I think it's going to rain and then I of the show nice during you know it's nothing like nothing is known a axis I forgot many point to a local boomers will put you in in the map file you can configure and pointed to your own OpenLayers JavaScript instance and use that it just doesn't do that automatically you have to specifically put in the configuration values to do that so just be careful and be aware the box it is the
point to an external dental next so
just use a demo example of the of the OpenLayers your right so here you can see
we just calling template equals OpenLayers and there's a motif was browse and narrative brings practice lie back from
open julienne so it does also were
of the yes cool so this really change
things really thinking in last few years has
been great addition acts on addition I don't know how
much work was to implement but I
think like I really appreciate that this went into the cell for it's really really and OK I'm and
this around that's that topic the next protein really is includes an you many of you in the room might have already known about them but might I want puzzle that if you don't know about including you're not using includes this is probably the most important approaches in this whole presentation if you're not using includes you should be using includes fair enough so that I think actually and offer telematic and that I think it's around 4 tenths been around for a long time so it's in include a parameter in the map file you can actually see here and the idea is that you can include from any part of the MAP file so typically am I myself might use layers for this so what would have been in a map follow along layer block norm is replaced by 1 line include a banana layering and then any assortment of an include file and so this is any time you have something you're gonna be using twice to 3 times 4 times 100 times this is where you wanna use includes standard connection strings standard metadata standard passed to 2 datasets of all hot layers that you can be using across different map files these are the kinds of things you want be using include files for 2 not replicating the same stuff over and over again and when you make a change you make it 1 place it affects all your map files that you want the fact that you have a lot do with it I like it was there is this right and we will talk rat is so the question was if you if you're using includes when you get an error message it's going to give you the line number of the include file or not not we're in the include about which include file it is so you can't really isolated down that's that is something we still they still exists stood up and problem and they wouldn't take care that for 7 it's been hanging around but I think maybe it's on us for people like me just didn't may reported more vocally local of falter spread that is the 1 program just all the yeah but does include files can also be nested of and you know it doesn't matter which extension they use map files have to use the map extension for security reason but I include files don't they used to be a limitation cracked how male here guys they used to be a limitation that you can only nasty 105 deeply including right tragedy Britain it's time that the I think the limit was revered propelling that was fully of just because everything said BP can be aware that in yeah and we can we can just go into to skip this slide these are just some examples of where the include weight included and as an example so you can see your map file can be really simple because you can just include everything the 1 included in your map file for the past year output formats your Web meta-data stuff all the layers you won't have keep your map file simple have the details in your include file that you can re-use across other map files and you want to look out that it the last 1 I of this this file so it all the work that I want you if your servers are older than 2006 or something like that that you probably wouldn't even notice that type of thing that we're talking really minimal performance here are I think we don't find it noticeable who and L. OK that you want to I want this 1 this is been around for for quite a while I effect al Holmes event my RFC 6 this is been around in an undocumented fashion for probably 8 years maybe 10 years and there so
it's it's a way to that generate a whole world of assigned data but take data values from a roster or something like that and then assigned a whole color range to it so rather than doing out roster classifications on pixels with small ranges you can specify a start value and and value the data range value and it's defined a whole color range to that to the notion that the curiously color ran randomly after Colorado to pass see past 1 color 1 star color 1 and color and then interpolates creates a color and in between those 2 colors and 2 values in question the you get no let's India that's something we have 1 here there is no legend output of know there hasn't been but we welcome patches for our contributions are always welcome that was the heart of the art the of the my was about the the you know them but I
think of as part of a 7 . 0 for the heat stuff but what Thomas pomfret is added to the cover range stuff is support for multiple color ranges and also support for HSL base color ranges so there is that for now it's so of I don't know that it's fully documented yet but it will be adding it to the documentation here very shortly so vertical because when when was 1st summoned implement their coloristic only goes a huge implementation huge limitations that you can only have 1 range and now you can have multiple some of its multiple color images and color that is right strongly and we have demo
right I'm not method acting directly on top of that so that the now this is just for me it's a pro but in no be careful of naming guidelines and really careful that you know especially in in map volume layer names of the special characters sort of a no no definitely no no it will probably most likely work in map server
and may not all or most likely won't work downstream might such as OGC the couple you know when users clients are calling LaRouche through services you want you want be careful with numbers numbers at the beginning of the year earlier names of special characters and like we hit this when we are preparing this system explained the out 1 of the things that about we used to call and 4 were all layer clusters so we could up and will show an example of this in a moment but later clusters used a call and in the column name for the the map false and text but it also be broke by WFS output because the colon in the later in the column name this treatise is the namespace value so that but that's 1 of the breaking changes between 6 4 of the 6 series in the 7th series that's been changed to an underscore to eliminate that OTC names of that's not namespace issue but I have always been really careful with naming because how I can use I O dual over all windows or what properties if you do that and then the model relating the idea and then deployment is all almost always 100 per cent on units and then there's you know when users for giving foreign for naming and units not so much or not at all sorry then so yeah this save yourself from being a for a and yes so quickly on to another a feature that was added in as it's 6 and
and that so many of you are familiar with sort a client-side clustering of points into 1 single this display points on the map from in this in this case it's a server-side clustering so it's a it's a attempt to reduce the amount of data that you're sending to your clients so instead of you know you have a million points or something like that you can cluster it down to the small to a much greater about fewer representations and then then include the data values on the actual cluster that represent that data you can also query the cluster and there's a there's a special
parameter that might be reason forget is a processing command I think it's a cluster all query cluster all
assume the idea is you can actually pass that processing parameter and then actually query that allow allowed NASA return those so this is these are the same dataset
the dataset of earthquakes that we have here but
you can see how there's lots of lots of many of earthquakes and here we go
and added to cluster keywords in editor knows that to other aggregations of the data and as you zoom in a zoom out it'll
recalculate those numbers regenerate the aggregations and update the data values so this pair them so you have an existing
layer object layer MAC layer of the clear object and you add in that cluster objects into yeah but this is
a new 1 that just added in the 6 . 4 but release or 6 4 1 of In the past when you had Rasta tile indexes they were limited to a single projection and you had a single map file layer for part rafter title index on with Google RGL 1 . 11 a a new keyword was added to the GLT on T and command to at the spatial reference system of the rest dataset to the title index and map server can read that now so you at the arrest names so you can have and all kinds of special references input to and within 1 tau index only for rafters for over and then in the map file you just add the the new title SRS keyword and point to the column that has that the of that value and so yeah you can reduce many many layers that we support you know almost that we have crafted data across at least 25 different UTM zones this allowed us to reduce the number of map layers that we do for after stuff but what by factor 25 to reduce it down to a single tile index this could also be 1 of the most important protests it sends out how often use Rasta tile indexes but if you are using it a lot of this is that they want to make your life easier for of this is 1 that really effects of posters and Oracle especially of for of a lot of operations map server needs to know the data extent of your data and it will actually query all your data in order to get that data extent for a lot of operations of the capabilities of W has operations WS operations so you can set but the O W 6 extent metadata for your data file and it doesn't have to be the exact value you can set it to of a world extent and even if you did it doesn't cover that world extent but this will prevent map server from running through your datasets trying to calculate the data every time that you accessing your data you have 10 million records it's gonna run through all 10 million records to get that data extent and calculate that unless you set the order of 6 termite nowadays being this about if actually setting a world extend actually helps map server 0 it's the back end up right but that's a word is as asking for that so right so so it is a good a good tip to to set that that metadata value in later yes so he yes yes I think it does not limit the data no it's just used but for the actual of OTC for the gay capabilities list for the w list but it doesn't it doesn't actually filter the extent so if you requested extent larger than that maps are actually make that extent even if it's outside the older the success he was asking he was asking about a so what if she's been using just a regular extent parameter at the of the the the o the extent that you when you make an actual data request is what maps are actually does to fetch the data this is kind of a pre-calculation that it does to determine what the the extent you're you're today data has no actually make 2 passes through the data if this is not available or battery can determine what extent your data it's and this is this is this is especially for OTC requests right primarily primarily as you see it on the man was some it's that why is my Oracle Spatial so slow wise the gatekeeper why is the get capabilities 20 seconds long or never finished never finishing and this is almost always the answer set 0 dubious extent 4 yes this is yes for each layer yes for each layer and it's not a bad thing to do that for other connections as well and I know it sounds sounds have annoying the and the final 1 is just do syntax highlighters in Europe of various map file editors there's a lot of different ones out there and we try to aggregate a bunch of us here there are syntax highlighters for a sublime culture and its heart pet + + text had and even old-school vitamin max so these are the kinds of things that that just make your life that much easier inscribed has syntax highlighting as well which hopefully will become part of the map Server project here so that's exactly the
alright if it right here
Gewichtete Summe
PASS <Programm>
Lineare Regression
Einheit <Mathematik>
Ordnung <Mathematik>
Installation <Informatik>
Spezifisches Volumen
Cluster <Rechnernetz>
Formale Grammatik
Konvexe Hülle
Anwendungsspezifischer Prozessor
Offene Menge
Wort <Informatik>
Prozess <Physik>
Familie <Mathematik>
Computerunterstütztes Verfahren
Metropolitan area network
Regulärer Graph
Prozessfähigkeit <Qualitätsmanagement>
Mapping <Computergraphik>
MIDI <Musikelektronik>
Große Vereinheitlichung
Konfiguration <Informatik>
Spannweite <Stochastik>
Automatische Indexierung
Projektive Ebene
Zellularer Automat
Front-End <Software>
Inverser Limes
Bildgebendes Verfahren
Leistung <Physik>
Einfach zusammenhängender Raum
Physikalisches System
Objekt <Kategorie>
Räumliche Anordnung
Demo <Programm>
Computerunterstützte Übersetzung
Orakel <Informatik>
Regulator <Mathematik>
Metropolitan area network
Kartesische Koordinaten
Shape <Informatik>
Kategorie <Mathematik>
Güte der Anpassung
Gebäude <Mathematik>
Rechter Winkel
Dynamisches RAM
Überlagerung <Mathematik>
Spannweite <Stochastik>
Rippen <Informatik>
Demo <Programm>
Elektronische Publikation
Patch <Software>
Leistung <Physik>
Kartesische Koordinaten
Web Services
Einheit <Mathematik>
Motiv <Mathematik>
Funktion <Mathematik>
Inklusion <Mathematik>
Zentrische Streckung
Nichtlinearer Operator
Prozess <Informatik>
Abelsche Kategorie
Gesetz <Physik>
Funktion <Mathematik>
Gewicht <Mathematik>
Interaktives Fernsehen
Kombinatorische Gruppentheorie
Elektronische Publikation
ABEL <Programmiersprache>
Einfache Genauigkeit
Inverser Limes
Mapping <Computergraphik>
Gotcha <Informatik>
Manufacturing Execution System


Formale Metadaten

Titel MapServer #ProTips
Serientitel FOSS4G 2014 Portland
Autor Smith, Michael
Lizenz CC-Namensnennung 3.0 Deutschland:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
DOI 10.5446/31713
Herausgeber FOSS4G, Open Source Geospatial Foundation (OSGeo)
Erscheinungsjahr 2014
Sprache Englisch
Produzent Foss4G
Open Source Geospatial Foundation (OSGeo)
Produktionsjahr 2014
Produktionsort Portland, Oregon, United States of America

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract MapServer is a fast, flexible and extremely powerful tool for creating dynamic maps for the Web. Underneath the hood, MapServer offers many powerful and advanced features that many users never dig into, and new features are being added constantly. Come learn about some of the more advanced features of MapServer, from heat maps to 3D WFS services to exporting data to GDAL file formats to very complex symbology and labeling. Learn simple and advanced use cases and debugging techniques for some of these advanced features from two presenters with over 20 years combined experience of using MapServer. A live MapServer instance will be used during this presentation (yes we are crazy!).
Schlagwörter MapServer
power user
web map

Ähnliche Filme