State of MapServer 2022
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 351 | |
Author | ||
License | CC Attribution 3.0 Unported: 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. | |
Identifiers | 10.5446/69054 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Production Year | 2022 |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
FOSS4G Firenze 2022190 / 351
1
7
13
22
25
31
33
36
39
41
43
44
46
52
53
55
58
59
60
76
80
93
98
104
108
127
128
133
135
141
142
143
150
151
168
173
176
178
190
196
200
201
202
204
211
219
225
226
236
242
251
258
263
270
284
285
292
00:00
State of matterPresentation of a groupComputing platformOpen sourceStandard deviationComputer-generated imagerySelf-organizationGeometryFreewareComputer fontCodeLine (geometry)Data modelStatisticsOpen setSoftware developerExplosionServer (computing)Configuration spaceHuman migrationElectronic program guideKeyboard shortcutComputer fileLevel (video gaming)Successive over-relaxationVector spaceBuffer solutionCurvatureRegulärer Ausdruck <Textverarbeitung>DisintegrationSoftware testingBenchmarkShape (magazine)Content (media)QuicksortUtility softwareoutputPoint cloudLink (knot theory)Visual systemContinuous integrationRevision controlLocal ringRule of inferenceFile formatTranslation (relic)Systems engineeringBridging (networking)ParsingFunction (mathematics)Mountain passClient (computing)Exact sequenceTape driveFinite element methodMeasurementArchaeological field surveyLibrary catalogWorld Wide Web ConsortiumImage resolutionHTTP cookieInstallation artTwin primeGroup actionWeb serviceLevel (video gaming)Projective planeCartesian coordinate systemServer (computing)Touch typingComputer fileMedical imagingCurvatureSoftware testing1 (number)Utility softwareVector spaceTesselationState of matterGeometryBuffer solutionSlide ruleLibrary (computing)Mobile appSoftware developerCodeLink (knot theory)NumberMappingFocus (optics)Keyboard shortcutDifferent (Kate Ryan album)Software development kitSelf-organizationOpen setTerm (mathematics)DebuggerSoftware frameworkPower (physics)Physical systemShape (magazine)Archaeological field surveyPresentation of a groupWeb serviceTwin primeGroup actionInterface (computing)Computer-generated imageryLine (geometry)File formatSource codeInternet service providerReading (process)BuildingOverhead (computing)Device driverHuman migrationWindowElectronic program guideWebsiteAdditionMathematicsConfiguration spaceRevision controlFamilyComputer programmingStandard deviationScripting languageCASE <Informatik>Multiplication signVirtual machineHoaxRoundness (object)Electronic mailing listFormal languageAreaTraffic reportingSoftware bugEmailTelecommunicationDemo (music)WikiSoftwareTwitterContinuous integrationCache (computing)Lattice (order)Web 2.0Pattern languageQuicksortUniform resource locatorArtistic renderingBitFunction (mathematics)Client (computing)Cross-platformRegulärer Ausdruck <Textverarbeitung>outputCoordinate systemGoodness of fitBridging (networking)Similarity (geometry)FeedbackMaxima and minimaFunctional (mathematics)SmoothingInstallation artCuboidPoint (geometry)Observational studyConsistencyProduct (business)Clique-widthIntegrated development environmentVariable (mathematics)Graph coloringSet (mathematics)Suite (music)Process (computing)Information securityStructural loadPoint cloudAssociative propertyMoment (mathematics)Front and back endsTetraederSeries (mathematics)Visualization (computer graphics)Mathematical optimizationComputer animationJSONXMLUML
Transcript: English(auto-generated)
00:00
Thanks, mike. Hopefully this is okay to stand up so good morning everyone. Thanks for attending So yeah, I'm going to give an overview of the the map server the maps of the project what it is for any new users So there's probably lots of existing users and then talk about the 8 release which I covered in a similar talk last year So there's a lot of new material since then
00:22
And then go on to the map server ecosystem So the projects that kind of revolve around map server, and then how to get involved in in the community So just a quick overview of what is map server, so it's been around for a while. It's been around since 1997 Created by Steve lime who's still one of the major contributors today?
00:40
It's got an mit star license, and it's one of the founding osGio projects So it basically serves out data hence the name map server It's it's read only so it focuses on on rendering and serving data And it's kind of hits all the ogc standards So wms wfs and it's starting to cover the new ogc api standards
01:01
So that's one of the major features of version of 8 is the ogc features api which is the successor to wfs? It's known for being fast. It's cross-platform So it runs on the Linux windows and mac and it's mostly written in C So there's been a move to C++ kind of in the last year or so So here's a kind of an old slide which has a kind of another summary of map server
01:24
So it's an engine so if you think a bit more of a library than a framework in development terms It's kind of easy to plug into existing systems It uses CGI Or fast CGI which has been around for for many years Yeah, it's fast. It's powerful
01:40
And I guess the key thing is that the pSC members and the developers are all from different organizations So there's no single company behind it It's kind of spread out which I guess is it's good for kind of the long-term future of the project His quick slide some app server when it first was created was a collection of libraries So I think it was shape lib was the first one and it's kind of continued in that vein with with different
02:04
Dependencies being switched out so here are the kind of the required ones But there's lots of extra dependencies depending on what you want to do with map server So a couple of the key ones are gdal and proj So there's been funding under the num focus project for for gdal Which obviously has a big knock-on benefit to to all the projects that use gdal such as map server and QGIS
02:25
So that's a big benefit when the the dependent libraries are being maintained and updated So since last year, so sad the buenos areas state of map server There's been eight new contributors so that that's great news and another two almost 250 commits
02:41
There's actually 300 lines less code than there was a year ago in in the project That's mainly from the removal of the PHP map script bindings So there was a lot of code and tests that weren't really maintained, so I'll come on to that But basically the PHP is now being automatically generated like all the other map scripts bindings come back to that
03:04
in terms of the latest releases So I kind of said maps of eight was imminent last year, but now it really is imminent There's a release candidate came out last Friday So it's already gone through two rounds of beta testing and that's the first release candidate, so it should be
03:21
imminent imminent this time You can always build it from from source on github So a lot of people in this room might be might be using the features from version 8 for a while But the official release should hopefully be out very shortly There's a family of map server Projects so it's not only map server, but it has its map cache project, so this is for caching data
03:45
So tiles you can cache WMS into tiles you can cache vector vector tiles so there was a new release of that in 2022 so in March of this year which has ready support and Then as I mentioned map server is for serving data, so there's no writing data
04:01
But there's a associated project tiny OWS written by Olivier Cortin So that's if you need to write write data to postgres post just and you can use that and it's kind of in the family of map server So yeah, there's a few status reports The one from last year covers a lot of the new features that are coming in version 8
04:21
So I'm not going to recover those because there's been new new new features, so I'll go over those in this talk But yes, if you're interested in things like the OGC features API and how to use it in map server then Yeah, there's last year's years talk at for Buenos Aires Okay, so I go on to the map server 8 release
04:42
So as I say the release candidate 1 is out now So if you can download and test and give any feedback that'd be great to make sure the verse first releases Doesn't have any major issues And any new developments are proposed by RFCs request for comments So if there's a major change or a major feature it goes through a process of being voted on
05:05
By the by the PSC members. So that's how new big features gets integrated into map server So I've already gone over the the three kind of main things that go into version 8 last year But just briefly there's the OGC API support. So that's the features API
05:22
so basically you're replacing WFS which is XML based with adjacent API The second one and probably a key one if you're looking to upgrade is the introduction of a config file So this allows you to set global settings across all your maps over map files, so you don't have to have the same
05:43
Settings kind of repeated and it also means you don't have to have lots of environment variables which can get mixed up on different web servers Basically, there was a few issues with the cross-platform approach where if you set environment variables They wouldn't work on Windows or they work on Linux and lots on other things So with the config file, this means you can set everything in one place and it also
06:03
means you can secure things so you can ensure that map files get loaded from a folder you specify as Previously, you could load a map file from any location on that was accessible from the web server Which which had a few security risks. So that's a key change is the the requirements have a config file and
06:22
Then there's also the port to Proj 6 which I think works for 7 8 & 9 So basically the new Proj API is in in map server 8 so you can start using that for the kind of increased accuracy of your your coordinate transformations So if you're looking to upgrade there's a migration guide online that covers all of the the changes
06:45
So as I mentioned the PHP map script native bindings are gone and replaced with the PHP NG swig generated bindings So map script is a language for manipulating map server. You can you can use Python you can use C sharp you can use now
07:01
PHP I Think there's TCL tickle. There's there's all sorts of languages that you can use and now they're all generated using swig So they will have the same API and the same interface Another change if anyone uses the shape to image for testing it's being renamed map to image So we're not dealing with shape files that much anymore. We're generating maps rather than rendering shape files
07:26
so that's that's another change on one of the utility applications and Then here's an example of the the config file. So I guess the the only requirement is the MS map pattern So it's it's a regex so you can limit which folders you load your your map files from
07:42
So again, it's to prevent loading map files, which might have References to DLLs and things that you don't want your your server to load There's also been some some syntax changes So map servers driven by map files which has its own custom language So it's kind of looks a bit like XML with all without all the the tags
08:03
And there's been a bit of cleanup So if you're migrating from seven to eight there's been some keywords removed, but all the keywords that have been removed have been either redundant for about 15 years or There's a better way of doing them So it's really to try and limit the the map file language. So it's easier to pass and manipulate
08:21
So if you're looking to upgrade Have a website that you can check your your syntax from version 7.6 to 8 and it'll highlight any Any changes you have to make but they should be fairly minimal okay, so one of the new new features is native flat geo buff support
08:40
so This was this was written by Bjorn Hartl who I think is at the conference possibly not here but Yeah, you might have heard of flat geo buffers So they've already been introduced into into Gdell, but now they're natively in map server So they're basically very fast And rather than vector tiles as I understand it
09:02
They they don't lose coordinates so vector tiles can be simplified whereas with flat geo buff you you keep your source data And they're they're faster to create than them vector tiles So it's based on a Google's flat buffers format, so this is basically for for geo
09:21
And Jeff McKenna did some testing so basically there's a there's a new leader shapefile isn't the quickest anymore The native flat geo buff is slightly faster And just to explain yet when if when it's native it means that map server has its own driver within the map server project Whereas you can also access Anything any other format that Gdell or ogr can read map server can read as well
09:46
There's a slight overhead So you see the flat geo buff you can either use the native map server driver Or you can use the the Gdell driver, so there's a slight overhead going through Gdell Obviously Gdell gives you access to 60 70 more formats that you can then render directly with with map server
10:06
This one is also a new feature a new utility application And I'm presuming it's not an elaborate hoax from from full Ramsey, but a cloud-optimized shapefiles basically, there's a new application to sort your shapefile so that it can be read faster over HTTP, so
10:24
Yeah, I'm not sure if any applications take advantage of this yet, but it's yet shapefiles are Still around and now they're faster than ever And yet on to map script changes so as I say there's lots of map script languages
10:41
Python Php and now they're all generated using a program called swig so they're all consistent which means that we can have consistent map script api Docs and Then in the new Docs for version 8 all of the docs are generated from the the python swig bindings So they're always up to date Whereas before there's lots of functions and things that haven't been kept updated, but now that they're auto generated from the code base
11:05
It should be easy to maintain and make sure they're up to date and yet again the the Php 7 plus Is supported now from map server 8 and the native ones are gone? so yeah in terms of the the development the two new main features of the flat jaw buffs and
11:23
The cloud-optimized shapefiles, but there's lots of other stuff from last year. That's going into version 8 Okay, so then the ecosystem so map server has been around for a long time So there's a lot of projects that the kind of link into map server or build on map server And a great way to start with map server is osgolive so astra gave a talk yesterday and
11:46
So yeah map survey is ready to to test and play with directly if you install osgolive It's on version 7.6 at the moment, so hopefully next year will go on to version 8 Also, map cache is available on osgolive
12:00
And there's a couple of client applications that use map server as a back-end so geoext and geomuse are both browser Applications that use the map server demo on osgolive, so it's a great way to get familiar with the software if you're on Ubuntu or Debian you can use the app get install and
12:21
So those packages maintains that I think release candidate is also available Thanks to Sebastian Carrenberg There's map server for windows Maintained by Jeff McKenna so if you want a ready-made installation for For map server on windows that comes with its own Apache server and lots of applications and additional things bundled together
12:42
there's map server for windows and There's also gis internals has has builds for windows as well and They also had development kits so if you're building on windows You can download these development kits and compile it yourself and these are the same development kits used for testing
13:00
GDAL and map server and on github with the continuous integration and it's been updated to support visual studio 2022 for any windows developers and a new way of getting a map server, although I think Mike you had a docker image seven years ago is Is to get it by a docker so a camp to camp. I think there's a few camp to camp people around
13:24
There's a very well maintained docker image with over a million pulls Let's see if you run those commands there you can start serving map files straight away from your machine So you can pull the image with map server and you can serve directly from map files on your own machine via the docker image
13:41
So it's very easy to get up and running for for testing and probably production as well Another project that I was involved in a code sprint this year is geostyler So people from the front ends might know this a bit better It's basically the GDAL of styles so you can translate between multiple styling formats
14:05
So for example QDIS has its own styling methods map server has styling in map files map box styling and then obviously SLD and Geostyler basically can can translate all these into an intermediary geostyler format and then spit it out into the new format
14:22
So for map server users if you're looking to reuse your styles from from map files Or if you're looking to reuse styles from elsewhere so for example if you've done styling in QGIS You can use if you go from map file to geostyler. There's a typescript parser, so Kind of the JavaScript ecosystem, and if you're looking to go from the geostyler formats to map files
14:45
Then there's a Python library created by geocat called geocat bridge style So just to give you a quick example of the of the geostyler you can do NPM install, so that's the node installer and then there's a command line application where you can take in your
15:03
Take in your map file, and you can you can spit out any of the the new styles Sorry the the other styles so in this case. It's going to output it as the the max map box style and There's a whole comprehensive test suite that checks all these And basically yet the for this input layer, which is a very simple
15:23
This is the example of a layer in a map server in a map file it's just got a style with a color so green line with a width and Then if you run it through this then it'll output this this style Which you can then use on the client side so you can use for for styling vector tiles in in open layers
15:41
So basically you can reuse any of your styles on the back end and the front ends by by automatically generating these styles So it's it's a very handy project to be aware of for map server users Okay, so I'm just I'm getting involved in in the community So we have kind of the all of the traditional communication channels
16:00
I guess the mailing list is probably the still the best place to go to To ask questions and get in touch with the the developers, so there's a users list and a developers list There's an IRC channel. That's that's still going and that's used for meetings mainly There's a Twitter accounts, and then yeah, there's hashtags on GIS stack exchange So that's also a good place to to get answers to questions on a map server
16:25
There's also a community gallery that's on the the github wiki wiki So here's a couple of new submissions within the last year so these systems are built using a map server back end so here's one from Lincoln County, Oregon and then here's another one from the
16:41
Lance material I think if it's pronounced that way Which has been running on map server for over 10 years, so I think the maps have been recently updated, and it's yeah Some beautiful maps anyway, so feel free to browse rather browse those links in terms of community groups during the pandemic
17:02
There's a map server user group in Minnesota, so the Twin Cities, Minnesota OS Joe chapter That's that meet up in person, but during the pandemic a lot of their talks started to go online So there's a lot of useful talks Steve lime gave kind of an hour-long overview of the age site OGC API support
17:21
So there's recorded talks there. I think the hosting is being moved so they might not be accessible at the moment, but There's a few yet lots of maps of a related talks available there in terms of the community oversight There's a PSC so I think there's six of us at OS Phosphogee this year
17:41
There's 14 in total so yet almost half of us are here There's also links to service providers and and sponsors If you're looking to to help out on the project I guess detailed bug reports on on github or via the the users main list are good Any case studies as well especially public maps can be added to the gallery, and then they'll get a mention
18:05
next year Documentation fixes and updates are always welcome And then obviously with the day point zero release candidates if as many people can test as possible Then it'll make for a smooth release Okay, so in summary
18:22
Map server 8 is imminent imminent, so yeah, we've gone through the beaters. We've gone through a release candidate So there should be one more release candidates, and then the final the final version will hit It's got yet lots of new features and improvements so not just the ones I mentioned today But it's it's worth checking Last year's presentation for for kind of some of the other major features
18:42
Lots of projects are still kind of referring to map server using map server Sometimes it's quite well hidden away. It's definitely used So yeah And just please get involved and get in touch with any of the PSC people if you're interested in development or or helping out
19:00
Okay, so that's everything for me
Recommendations
Series of 41 media