Add to Watchlist

MapServer #ProTips 2


Citation of segment
Embed Code
Purchasing a DVD Cite video

Automated Media Analysis

Recognized Entities
Speech transcript
I How good evidence you
sorry it's 818 and do together I'm I'm jet that's Mike no my my future right so while this is a man honest and how long we've been working together and not matter it seems a very long time that we you know the so I we describe each other were sort of both the power users of master right don't want Romania layout so so yeah although you do right you buy a core community I have friends of mine and not work better I'm on the PSE but I'm not for now I have written some of you even if you have the idea in the loss of put encoding a factor right so that's that's probably somewhere come from disease backgrounds were like the power you like were born but where power users of masses and we're doing this for 14 years now yes there are 15 year or the year of whatever you you're so yeah that's what you're getting at nite uranium but to developers to the almost of the universe sailor attackable projects
and some of them are about operatives their power to prompted the but some of them are may be simple and as minority seen before and bad and yet still go to pre quick there's not a lot right is you should know that so the first one worry us getting out of and Howard in this but it's going to be debugging so the new building an application you're doing it with like you saw the the open there's no friend and stuff and then how are we going to divide the errors might but well but you set the debug at the at the map level or the layer level to see which types of debug information you want and there's even the possibility of doing the about Chialvo DR debugging of embedded right in map server so you can add this special configure option and then see how GDL errors in the map server log file and then this is your part and and the shit in Tangier yes I I can live with the command line and that and I find the most powerful debugging thing is really just 1 command line tools shaped and and yet I mean not many people know that but I know of many is so many people rely on you know I I tend not to because I look more the waterfall of server so yeah get best will both worlds here yeah but what I level shaped and G is it's pretty much the install map server the massive utilities will be there so if you're in a hosted environment likely it's there if you build yourself is definitely there and if you're working on a client's machine it's going to be there so that's why turn and an and yet there's some importance which is we listed all underscore the but it's a it's it's sort of um lists the maximum amount of in of debugging and yeah yeah that's most what you want to start with right but sometimes when you need all the debugging inspiration you can use the all the books which right so the red right you so another method you can use is I'm avoiding even running through the web server at all are using called maps serve with the batch dash and H. but no headers options and then you just pass to the query string which would be at your actual URL and you it's the same as executing map server through Apache but you don't have to deal with any of the issues you might be having with Apache so you can isolate your issue to maybe something with services something that's occurring directly because you're running a web server environment maybe it's a permissions issue of things like that so it's good to isolate where your problems might be occurring and this is a good way of doing it yeah yeah I just want read rewritten how important matters map map served that destination somewhere on the map server or website among the maintenance of its there is this kind hard to find but that's that's 1 of the things you want just keep in your back pocket as you're working through problems definitely because like my said that we do with the euro were looking right it's kind of right to the method that is kind of hard to find sometimes and in any way at getting away from Apache all the friend and stuff and and getting the error rate at the or crash right at the command line this is useful the the thing you can do with that debugging is set to have your debug logs to go to various different differ locations you can use the Apache log which is the default or you can also specify specific error files you want your log files to go to that's something that we do and if you're a unit user and you're getting into the actual crash situations or other things like that you can do so bond map server in GDP the new debugger and you can set breakpoints in the code and generate traces to see where crash might have occurred and that's something that the developers really need to see when you when you do have a Segfault or something like that of seeing the batteries can let us know exactly where the crash occurring in we can diagnose something easier so it's good for submitting bug reports the right and the actually I I maintained MS so do Windows builds especially recently just over just seriously yes I mention windows here both you have however a anyway and so there is a there is an important steps I mean may maybe I'm the only 1 in the room that this applies to you but but it but if you are building binary set for an open source project on on Windows there's ways to do but that and I have listed a few things like many the area of the Walker it's been around for a long time to see if you're in DLL hell as they call it missing DLL got conflicts was also raised in C + + redistribute problems that can usually you can usually of those the those Dependency Walker and Process Explorer will help you through the but it's not fun and that's that's probably a reason to avoid using windows in the 1st place the of the debug level 2 or how are higher but that given to his words starts to command is also good for not just of finding problems but also often documenting performance of your system because it provides layer timings so what we do our do is we have a variety of map files and request that we make of a certain areas of various at all resolutions and periodically whenever there's changes to our map file we rewrite it to get are generated layer timing so we have expected timings for each layer at various zoom levels over areas of interest and then when we have performance issues that reported by clients we can't compare that to what are expected norms are and we know that there might be media server issue a problem with a spatial index some kind of data corruption issue or somebody's chains and symbology that's you know causing a performance issue so it's something that we do to to keep track of performance that you can use this so um a new feature that was added to I believe in the 6 . 4 release is the ability to secure OGC services by IP address in this is something you wanna do when you have services that that you only wanna make available to certain clients for certain groups of clients of it can be done at the map level but typically this is done more the layer level but you can specify these addresses by range by external files on loads allow for I P V 6 in you can even just a control services at certain levels so you can on IP restrict WFS but enable WFS for every hour WMS for everybody so you can just allow certain certain protocols to certain users say you want to provide a view of services to your authenticated clients the that mass services to everybody on and the other thing you need to do is blocked access to the map server CGI the interface when you wanna restrict these OGC services this you right analysis this is an oldie but a goodie on and we added this and recently I just kind of fell across this in for 1 of my clients in like the last couple months in an area known about it like it was in and yet and yet not like a foot like our C 30 something where the where the 100 and something of the 17 so it's going been around a long time we you use that that and there is no OK or power is you can anyway so this is it's kind a cool I I think top uh and pulled away our power and so right it says here early times and under used uh and so it's the idea is that a massive rule hopefully use that detailed your library to read objection to get the projection information if you're using you know what your connection to your right right that's the 2nd point the key the key thing is that you must use an OOG error flesh GDL connections so that 2nd point the connection table during that sphere vector layers right so and make sure you do that before you triggering the projection of yes so I think I we have a couple couple of that last 1 is very important in discovered recently that it doesn't work with external world fossil a little bit of a caveat here using the connection type your can impose some performance penalties if you have a large datasets the drivers adjustment factors going through your were but you know we can even planets but that you mention it will elaborate on this because I think that's a power to in itself is just going through old you are but even if that various if you have a shape file
and something's not working right we you what I solve things by going through connect like an old connections right sometimes helps you isolate where the issue might be right to keep that in your back pocket to like yeah you can use the the the native legacy color yet map server connection or about running through connection type Old Europe if you do a vector and then you might you might find it the difference there and then he can take that others yeah sir the idea that's that's just example with disability this this sort yes so it's just simply in the production of the work should work rasa very simple just exactly just projection of so map server will read the coordinates system from the from the TIFF file and through Jeter assuming it's correct this right right and and again remember it doesn't it doesn't matter rule read so the external right attributed for of the world of selected right might so this is the new feature that was added at at map server 7 of us in RFC that was added for inspire support them by Evan rule and w 1st 2 . 0 is now native in map server and is 1 of the things about the 1st 2 . 0 is paging is supported by default on we had added paging supports at the the first 1 1 but was a as non-standard extensions syntax and it's definitely it's a standard syntax in that the 1st 2 . 0 and it does support sorting as well so you can specify sorting keywords and w 1st 2 . 0 also supports time support so you can make some time-dependent spatial queries with w 1st 2 . 0 and the kinds of things you can do are stored query supports so you can set up w fast queries but on the server side and refer to them by names and pass parameters to those names are giving an example here and like I said it was a base for our inspire sport so here's a couple examples of some of dummy fast 2 . 0 queries where here's an example with a the time period a collection of query with you have a begin time and end time and this also has a sort order on it so these this your your data has to have actual times about data in the in the database or whatever your back and is an order do that but it can it can do it at time based support and here's an example of of creating stored query so I I specify my query name I can point to some XML file that contains a query and I can define some parameters for that query and then rather than having to is to specify the entire Debbie fast filter I can specify just some some query ID some name and then specify some parameters to be passed to that so it's a way of about making double 1st of queries a lot more set a lot simpler especially when you using a similar kind of operations repeatedly in just 1 change a few parameters the and and this is a kind of a sub pro tip on that of the 1st 2 . 0 and In the map server 7 release we've refactored how of maps or handles how it handles the same spatial filtering and edge mood filtering so everything gets pushed now down to the native driver level at the lowest level so this wasn't too much of a problem when you're doing w mass because the B box filters were implemented natively so when you made a request for data in your shapefile or your database posters whatever it would limit the filter by the box but when you're doing that with WFS you may not have a bounding box so any actually filter or other kind of filter that you specify the w fast that was done at maps so that all the data would be brought back from your database or from your shape file and then would be filtered and map server now those spatial filters are actually pushed natively to whatever your back India's my see the sequel server years old you are whatever it is and implemented at the data driver so so if you're doing a database query and you specified you know all of the time filter and some after the filter those hatchment happen at the database so the speed up is tremendous so if you're doing a double fast queries on on some kind of spatial back and and you're not that doing with the box filters you deftly wanna b moving to map server 17 years the the new native drivers that stuff push set to the back and you idea and and you this may be the most significant main in my mind the most significant regions massive so here in Italy map services for quite a while because 1 of the drivers right this way and 1 will not just won the series of women with this it was a lot of back and development in and might here to to use on on might actually did a lot of work with the oracle rather than this OK yeah go quicker now think because it's the almost so additional base Les's is many many already know this trick This has been around for a while as well but but I think nowadays serve now again under underutilized and and this is for CGI only give it a try I mean I I I document this so long ago I like for map server and I think it's very powerful we just add a template in 2 years chairman of file point template and then you get the you know uh inaccurate legend Nacional legend and just quickly you can even see that there is some syntax for each e-mail as adjacent yeah this is just some examples of what the templates might look like to get this knowledge and and variety of formats yeah so I'm pretty powerful other so there is there's lots of formats launches given in just that just give a try a content Evangeline instituted the figures is those you're OK I can talk to it OK so and another recent addition to map sir between the 6 . 4 and 7 . 0 release are content-dependent legends of the ability to only show the information within the actual view so when they get legend request is a is is generated you have some additional parameters that you need to add to your request including the B box with height and as RS and then it will only return the I get legend request that includes the symbols what about feature types that are present within that field of view so it doesn't give you the entire legend so if you had 20 layers you're requesting but the field of you actually show 2 layers your debt legend request return an image with only 2 entries it rather than all 20 layers but just to be aware that doing this has to do more work because it has to make a request in to your actual features see which which ones are there it doesn't render them it's using to generate the legend but it's filtering them are based on that so it if you don't do that if you just up choosing a full legend if you just go through the loyalist generate the latent legend preview and return very quickly so there is some expense to this it lecture you were were definitely Deeks we have a lot of text and code so on so many fancy so yes so of blending modes this is a cool thing that was added in right near the end of the really great variance so it's really not I don't see it out there a lot you know this is going to be this is don deleting edges in I was just making the finger ever let this sort of good yeah I would maps are but yeah so it's it's really bleeding as a really haven't seen it out there but yet so there's what we a new a new blocking the math folic compass supply so later and encompasses and in there is a new parameter of called compasses talk about parameter and that in their gives you something like 15 to 20 different operations and where you can actually do Blanz that like 2 layers right so think of things like posted fill shades that you know the old capacity trick back to background to of 3 you yet yet so that so the idea is you you have things you can do with him and things you can do is get break it can have multiple compass blocks for 1 layer yeah so you can throw an overlay control of lightning some sort of contrasting yet so it's kind of you but is there to right right yet so I mean there is my
attempt that yes of right so I've taken like gene share relief and then likes and local of colors RGB is and then I just an overlay with with that in syntax pretty simple it's it's all done my maps yeah of this critical and I think this is not yet that let it so it was officially released in that it was in the code investor but it it has been released in the 7 0 released July yeah yeah there other tricks to do that 2 minutes this is this new competence trick that's the kind of various forms of yet super performance yeah that's a good point and so you like you said you can go OK so that all than
the metadata and the in the the if you feel and be has just 1 question because I need to do and
get from there and on meeting in a few minutes yes it will start in that by
the end of the session of the just 1 question yes please look at and in the all of the the but the yeah I mean why would you do that this said thank YOU just combined file the relation of you will just go projection model the and and it's coming out but it will the we have a different way have fixed set and yes yes that's an old edition of that that was that was expected that the revised in that space so the idea here that that's a good part of the world we used to be a part of to you the if you're ready PST follow the projection of your your apps always using was where the plot of mass at the goal line by line and read them in there was no catching right now catches cat so so maybe there might be hated the beginning something yet but but the answer your question we haven't really benchmark the projection on L but I've never noticed In my testing I think there's not really a performance it just more potential to go wrong if you were spatial information while it's not true that the only reason by exactly the and then you yet and you you're throwing out in the OGC services and you really want take that risk we've you know the source projection aligner listed there and you know I mean the the much of it all of them and with that there really is no to that an issue with really large map out we we typically run of 30 to 40 thousand 1 map files now these are ones that our have a lot of the include files and sometimes includes files that include files but we'll see multiple images of with really large map files now that being said we do tend to run a fair amount of RAM on the system so the the stuff stays part 2 we do run fast CGI so that that is an issue but I mean you and the other thing about this is it's been I would say it's fixed but it's this kind of of an improved over the years and and that you know maybe if you had 200 thousand lines or 500 thousand lines you might get into an issue but at your 40 to 50 thousand we haven't seen anything the question so thank you very much we really need to go to that and all meeting the
Data mining
Computer animation
Multiplication sign
Software developer
Projective plane
Universe (mathematics)
Core dump
Right angle
Power (physics)
Existential quantification
Range (statistics)
Zoom lens
Client (computing)
Shape (magazine)
Tracing (software)
Software bug
Maxima and minima
Medical imaging
Web service
Computer configuration
Large eddy simulation
Error message
Information security
Physical system
Texture mapping
Product (category theory)
Channel capacity
Block (periodic table)
Structural load
Software developer
Electronic mailing list
Interface (computing)
Message passing
Graph coloring
Order (biology)
Figurate number
Point (geometry)
Web page
Computer file
Open source
Variety (linguistics)
Similarity (geometry)
Rule of inference
Template (C++)
Crash (computing)
Goodness of fit
Utility software
Energy level
Traffic reporting
Address space
Units of measurement
Default (computer science)
Series (mathematics)
Key (cryptography)
Compass (drafting)
Set (mathematics)
Cartesian coordinate system
Local Group
Table (information)
Uniform resource locator
Integrated development environment
Query language
Finite difference
Device driver
Library (computing)
Multiplication sign
View (database)
1 (number)
Parameter (computer programming)
IP address
Image resolution
Bit rate
Extension (kinesiology)
World Wide Web Consortium
Electric generator
Process (computing)
Computer-generated imagery
File format
Connected space
Vector space
Normal (geometry)
Configuration space
Right angle
Data logger
Data type
Asynchronous Transfer Mode
Filter <Stochastik>
Server (computing)
Game controller
Batch processing
Field (computer science)
Power (physics)
Revision control
String (computer science)
Operator (mathematics)
Installation art
Projective plane
Mathematical analysis
Software maintenance
Subject indexing
Computer animation
Object (grammar)
Communications protocol
Point (geometry)
Computer animation
Graph coloring
Inheritance (object-oriented programming)
Shared memory
Form (programming)
Computer animation
Lattice (order)
Mobile app
Theory of relativity
Texture mapping
Computer file
Scientific modelling
Projective plane
Source code
1 (number)
Line (geometry)
Set (mathematics)
Plot (narrative)
Web service
Software testing
Computer-assisted translation
Physical system


Formal Metadata

Title MapServer #ProTips 2
Title of Series FOSS4G Seoul 2015
Author McKenna, Jeff
License CC Attribution - NonCommercial - ShareAlike 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 and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
DOI 10.5446/32139
Publisher FOSS4G, Open Source Geospatial Foundation (OSGeo)
Release Date 2015
Language English
Production Year 2015
Production Place Seoul, South Korea

Content Metadata

Subject Area Information technology
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 extending OGC 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 30 years combined experience of using MapServer; this will be the second #protips performance by these two vibrant characters. A live MapServer instance will be used during this presentation (yes we are still crazy!).


AV-Portal 3.5.0 (cb7a58240982536f976b3fae0db2d7d34ae7e46b)


  537 ms - page object