State of GeoExt
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 | 295 | |
Author | ||
Contributors | ||
License | 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. | |
Identifiers | 10.5446/43429 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
00:00
View (database)NeuroinformatikOcean currentOpen setInformation technology consultingGeometryMoment (mathematics)Projective planeMaxima and minimaExt functorFood energyLecture/Conference
00:59
System programmingPresentation of a groupFunction (mathematics)Software frameworkLibrary (computing)User interfaceOpen sourceTexture mappingMobile WebType theoryBuildingComponent-based software engineeringExt functorWeb browserPresentation of a groupPhysical systemWeb 2.0MereologySoftware frameworkNumberCuboidUser interfaceLibrary (computing)Software developerConnectivity (graph theory)GeometryPoint (geometry)Client (computing)Projective planeMobile WebPerturbation theoryOpen setWebsiteWeb applicationProduct (business)Electric power transmissionLink (knot theory)GradientVideo gameProcess (computing)
02:37
Software development kitSystem programmingIntranetExt functorCodeDuality (mathematics)Network topologyComponent-based software engineeringSocial classObject (grammar)Data modelMalwareKeyboard shortcutSoftware testingLine (geometry)MappingOpen setDigital filterServer (computing)Texture mappingRevision controlBoolean algebraLevel (video gaming)Numeral (linguistics)Projective planeQuicksortConstructor (object-oriented programming)Filter <Stochastik>Point (geometry)Open setFunctional (mathematics)Software developerGeometryBitSoftware frameworkSocial classCodeServer (computing)Connectivity (graph theory)Endliche ModelltheorieLibrary (computing)Equivalence relationComputer architectureKey (cryptography)Web applicationNetwork topologyMenu (computing)MehrplatzsystemCartesian coordinate systemContext awarenessNumberTwitterWeb 2.0Plug-in (computing)Presentation of a groupFAQZoom lensCuboidUniform resource locatorPhysical systemVotingIntranetDifferent (Kate Ryan album)Front and back endsControl flowTerm (mathematics)SynchronizationTraffic reportingConfidence intervalScripting languageProcess (computing)Link (knot theory)Ultraviolet photoelectron spectroscopyExt functorSineTraverse (surveying)Line (geometry)HoaxAdditionGradientInternetworkingTranslation (relic)Source code
09:42
Group actionFilter <Stochastik>VideoconferencingTexture mappingAttribute grammarSynchronizationMultiplication signRow (database)Web pageComputer animation
10:08
Web pagePhysical systemInstallation artRepository (publishing)View (database)Data modelWeb pagePhysical systemCartesian coordinate systemComputer architectureTexture mappingGeometryData structureMultiplication signLibrary (computing)Endliche ModelltheorieService (economics)Row (database)Home pageDemo (music)View (database)Data managementInstallation artUser interfaceSoftware developerExt functorGame theoryVideoconferencingUniform resource locatorFilter <Stochastik>Greatest elementMassPoint (geometry)Computer animationSource code
12:24
VideoconferencingDemo (music)Cartesian coordinate systemWeb pageNetwork topologyService (economics)Selectivity (electronic)GeometryCodeLine (geometry)Functional (mathematics)Computer animation
12:52
Demo (music)Server (computing)Library (computing)System on a chipForm (programming)Euclidean vectorGeneric programmingGamma functionText editorSystem programmingOrdinary differential equationCompass (drafting)Texture mappingDatabaseLocal ringReduction of orderComputer clusterLibrary (computing)Insertion lossProjective planeForm (programming)Software frameworkKey (cryptography)MappingGeometryVideo gameObservational studyServer (computing)Physical systemSocial classCartesian coordinate systemLevel (video gaming)Right angleDatabase normalizationWebsiteSymbol tableScripting languageComputer fileProcess (computing)Ext functorInternetworkingRevision controlMoment (mathematics)Open setConnectivity (graph theory)Web browserDatabaseVector spaceTheory of relativityProduct (business)Texture mappingComputer animationSource code
15:35
CloningSoftware frameworkFunctional (mathematics)Google Street ViewPhysical systemData structureUser interfaceDialectConnectivity (graph theory)Data managementKey (cryptography)Revision controlComputer animation
16:04
Compass (drafting)Physical systemData managementRevision controlLocal ringElectric currentSineRevision controlIterationCartesian coordinate systemGeometry
16:37
Service (economics)Open setGeometryMobile appDifferent (Kate Ryan album)View (database)Mobile WebWeb browserCASE <Informatik>BitData managementOffice suiteCartesian coordinate systemRevision controlForm (programming)DebuggerCodeGradientLink (knot theory)TouchscreenConnectivity (graph theory)Computer chessPhysical systemSource code
17:38
Rule of inferenceLocal ringMedianReal numberSeries (mathematics)Mach's principleGamma functionMaxwell's equationsPhysical systemConnectivity (graph theory)Data managementPresentation of a groupLink (knot theory)Slide ruleComputer animation
17:56
Hill differential equationCodeSlide ruleData managementPresentation of a groupGeometryCartesian coordinate systemSource code
18:21
X-ray computed tomographySoftware testingExplosionInverter (logic gate)Component-based software engineeringMobile WebModemDean numberTexture mappingExpert systemNetwork topologyGeometryConnectivity (graph theory)EmailTouch typingElectronic mailing listProjective planeSoftware bugSoftware testingPhysical systemModule (mathematics)View (database)Repository (publishing)Revision controlComputer configurationFilter <Stochastik>Web 2.0AreaMultiplication signLibrary (computing)TheoryWeb browserSoftware frameworkPower (physics)GUI widgetCartesian coordinate systemStability theoryMoment (mathematics)Video gameProcess (computing)Software developerComputer animation
20:28
MappingMoment (mathematics)Connectivity (graph theory)Computer chessSoftware frameworkInformation securityTouch typingMultiplication signProjective planePresentation of a groupRevision controlCodeLecture/Conference
Transcript: English(auto-generated)
00:08
Hello everyone My name is Seth Gervin. I'm from a company called compass informatics Which is a consultancy based in Dublin in Ireland, and I'm going to be presenting the geo X project. So
00:20
With my co-authors, they're not here today, but they're watching remotely. There's a Chris from maximum and mark Janssen from terrestris. So you might recognize the same names from from the open layers project as well so Are there any geo X users current users in here at the moment or previous users of geo X?
00:41
Just to get an idea of who knows about it. Okay, so a few people and So yeah, I'll just run I'll just show you the project overview so I'll be running through these topics. So to give an introduction to what is geo X and then give some of the project news Then going to talk about the the latest release and the new features
01:03
Then some of the related projects to geo X so there's other related libraries that can be used Then go on to some of the systems in production. So where it's actually being used on Live sites and then finally summarize it So to describe geo X
01:20
it basically allows you to build things that looks like a desktop client through the web and it combines open layers and The xjs library provided by censure so xjs is a kind of big JavaScript frameworks, but it's been around for a number of years and The geo X library links these these two together
01:42
So if anyone was here before then then there's already being kind of review of open layers But you'll see open layers used in lots of other projects and lots of web clients use open layers as a base and geo X Is the same? So it's an OS geo project and it's it's nice and fast and it's mobile ready
02:00
You may know a little less about censure xjs so It's a very comprehensive framework It's very big and its main main selling point is it that has has over a hundred UI components that are ready built So if like lots of developers you don't like writing your own kind of user interfaces and design That's all comes out of the box so you can kind of skip that part when you're you're developing a system
02:22
So it's it's kind of main main selling point in its is its grid So it's very powerful grid that you can use in in web applications So I took this from a previous a previous presentation on geo X So xjs in 2009 was was the hot JavaScript framework. Obviously, there's been quite a few since
02:43
but it's still going unlike some of some of the others you might not hear about but The xjs is still going so it's it's fairly stable It's it's it's kind of keeping up with the the web trends and JavaScript trends like promises and things But there's not that much news about it, especially kind of compared to ten years ago
03:05
So kind of the sweet sweet spot for xjs applications are when you have kind of large data centric systems So often they're the intranet based systems rather than public systems because they can they can be quite Complicated looking and look more like a desktop application than the kind of a simple web web application that the people are used to now and
03:25
Kind of there's a lot of kind of internal banking systems and things which are powered by the xjs framework Which which kind of keep it going and keep it keep it supported
03:40
So yeah, the xjs library Is has got kind of two different ways of licensing. There is a GPL license So xjs the underlying framework has a GPL edition but it also has a commercial license and And the geo X licensing follows this so lots of people have concerns about the licensing for xjs, so there's a few faqs
04:04
That I'll send around like that that will be in the in the presentation But basically if you use the GPL edition of xjs library You have to use geo X as a GPL if you buy the xjs license Then you can use geo X under the BSD license So you have more flexibility and just to give you an idea of the cost of the commercial licenses
04:24
It was around twelve hundred dollars for a for a single user and then for some reason for five five uses. It was 1400 or something but that that has no deployment restriction So it's kind of based on the number of developers in who are creating the application
04:40
So to give a high-level overview of what's in geo X I've linked to the examples there, but There's things like layer trees. There's an overview map There's feature grid there's pop-ups, and it also provides kind of the architecture for linking together open layers classes within the xjs framework So anything you update in open layers is updated in the equivalents xjs model and vice versa
05:04
So this will this will make a bit more sense later on with some of the examples So the the geo X version 1 came out in 2009 But version 3 which is what I'm talking about today was first started in 2015
05:20
So it's basically a complete rewrite of of the geo X to version 2 which was preceded it There's over 20 contributors and it's around 25,000 lines of code. It's a pure JavaScript library So there's no server side. There's no linking into PHP or Python or anything on the server so it's all just JavaScript classes and code and
05:41
according to the Constructive cost model. It's it took about six years worth of effort. So if you're looking for a JavaScript framework And you're kind of trying to write one yourself Then that might give you an idea of how long it might take to get to this level of components and quality
06:00
So yeah, this is the the project news. So this is kind of stuff that's happened to geo X in recently The last reports there was one in 2017 in Denver by Mark Jansen There was one in Bonn as well and and one in Seoul So it's mainly been mark and Chris have been presenting geo X
06:20
so they're having a having a break this year and This year we've also applied for the OS geo community project status So that's currently being voted on so it was plus seven votes as of last week So and can probably announce shortly that it's that it'll hopefully be an OS geo community project
06:40
Which obviously gives users and people a bit more confidence in using the library that that it's gone through kind of Licensing and a few checks and that's going to be around for the for the longer term So xjs which obviously underpins geo X'd The company behind it was acquired by another company called Idira Who also acquired kind of the Delphi development if anyone knows Delphi, they also acquired the the Travis CI
07:08
This year, so they seem to go around acquiring companies that have tech that still makes money and then keep it going and support it We'll see if they pump in lots of money into new development for the library There has been a new version of xjs released this year version 7
07:23
Whereas a the one we're using for geo x3 is is version 6 and in terms of releases So version 3.2 was released this this June So it's been one and a half years since the previous release. So there's been quite a lot of commits since then So I'm just going to highlight some of the the features in in the new release
07:45
So I'm going to start with a few of the kind of The simpler basic basic features that have been added and then move on to the kind of more complex examples So the first one here is a geo coder So this adds in a an xjs combo box and you can start typing in you can link it to any backends geo coder
08:02
And then it'll zoom your map in to that location In the example, it's using nominate them. I think which is based on open street map So it'll zoom into the location and add a at a bounding box feature Something that was in a previous version of geo X that's only just been added in back
08:20
Now is is the linking between a grid and an item on the map? So basically you can select something in the grid and it'll be highlighted on the map and you can select something on the map And it'll be highlighted on the grid. So this is kind of where the the two-way binding comes in a nice little plugin is a layer tree context menu
08:41
So the one of the key components of geo X is a layer tree And now you can right-click on a layer and you can add in lots of functions related to that layer So things like redrawing a WMS layer if the data has been updated or adding in labels So just provides a nice plug-in framework for that But the most interesting things are all related to the to the grid
09:03
So as I say in in xjs, the grid is kind of the the big selling point. It's very powerful it has all sorts of filters kind of numeric filters string filters boolean filters and Some of the work for the 3.2 release was to link the grids with a WFS back End and use OGC compliant filters. So basically you can use the xjs grids
09:25
That creates an OGC filter. It sends it back to a WFS back end that sends back the data to your grids and Everything's in sync. So there's actually one of the developers from Trestress your harnesses at the back staying very quiet who developed that feature
09:43
so hopefully I don't know if the Video will work and so this is it in action. So they're the xjs filters And then basically you can use any of the filters You can apply a filter and filter to any of the the attributes and it'll directly filter the the data on the map
10:02
So it keeps everything nice and in sync and it's all using OGC standards At a similar the similar thing that we've added to the grid was to allow paging So WFS to supports paging of features or rather than getting six thousand features all at one time You can page through and just get 20 records at a time
10:23
So again, we took the approach of using the kind of standard OGC WFS WFS interface and allowing you to page through features. So I just show them up the map here Once you page through the the features with the paging toolbar at the bottom then the maps updated as well
10:43
So it means that you don't have to download all of the the features in any at any one time So yeah, I'll come on to some of the the future developments related to the grid So there's also sorting as well Which which was added along with the the paging so you can sort based on you can sort using the WFS service
11:04
And that's that's applied to the grid as well So I'm just gonna kind of highlight a few projects that are related to the to the geo X ecosystem So these are libraries that you can use to kind of enhance the the geo X library Something that's been added recently is moving the GX library to to the node package manager
11:24
So this is kind of a step to try and get rid of some of the the century co-system and make it Geo X kind of more accessible outside of xjs and censure So so now the recommended approach for installing geo X is to use the NPM install
11:40
There's also a new demo application that I've been working on that highlights all of the new features of 3.2 So each of the features has its own example on the the direct homepage But sometimes it's quite hard to put them all together into a full application And this this demo application tries to kind of follow the structure that people can follow the same approach
12:02
so that you don't end up with a mess of an architecture and It uses the new XTS approach of the model view view model Which which ends up being kind of nice and clean and especially some of these dead data centric systems are very large Then it's useful to have a good structure so that you can keep them updated and and don't kind of end up in
12:21
a big spaghetti mess So I'm just gonna play the video of the the demo application. So this is one of the xjs themes you can see here It's got the paging. It's got the the selection And then it's just using the filters as well. It's got the layer tree on the left
12:40
So you can see it's all nicely synced together So basically you can create a grid for any of your WFS services Send it to the grid and then you can add all these functions in in a few lines of code using the the geo X Library Something else that's happened. This year is geo X got added to the OS geo live
13:02
So if everyone got their USB keys Then there's a new project project overview and quick start for geo X So you can you can try that out and just see see how easy or difficult it is to put a simple application together So it uses a map server back ends with WFS and WFS layers, so that's all all set up on the the new version of OS geo live
13:26
And the the quick start should end up with an application that that looks a little like this Okay, so there's a couple of related libraries there's a library called basics and this is from terrestris as well
13:42
So this is kind of a higher level library than than geo X So geo X does a lot of the plumbing between the two frameworks, but the the basic Basics library adds a lot more UI components. So there's things like ready-made forms to add in WMS's from a server There's digitizing tools So if you look at the the doc, so you you can have a quick look through the documentation
14:04
You can see that there's there's kind of a couple of hundred classes there and you can plug those straight into your kind of geo X text.js application There's also a related project called geo styler and I think there's a talk going on right now about geo styler in one of the Adjoining rooms by till Adams so you can search for that talk afterwards
14:25
Basically allowed symbolizing of of geo data in the browser or using JavaScript and For example, you can you can apply an SLD file to a WFS layer and Or to a vector layer and open layers and apply the SLD directly
14:43
So that's what I'm using in for one of my projects So it's it's a useful way of reusing different styles and applying them to two things in in open layers And okay So now I'm just going to go for a few of the larger geo X systems that are in production As I say many of these are our internet sites, so you won't be finding them on the on the public internet
15:07
So the one I'm working on at the moment is a public lighting project in Ireland so this is to retrofit all the public lights with LED bulbs to reduce costs and at the start of the project the the main thing that
15:22
Was was required was there was no reliable database and mapping system So this is a system that was built using geo X 3 and X GS 6 So to try and correct that problem to show where all the the data anomalies and things might be So this is kind of yeah this you can kind of see the the themes and the the X GS framework kind of showing
15:43
through In kind of the user interface and structure, but as I say you don't have to worry too much about the UI yourself You can just concentrate on the the functionality in the data So this is the the public lighting system So it integrates can things like Google Street View and then it has the grid as I say the grid is one of the key
16:01
components There's another large system called the pavement management system for managing all the local and regional roads in in Ireland so that started off with geo X version 1 back in 2010 and X GS version 2 and It's gone through another iteration up to version 2 of geo X and X GS for and we're planning to move it all into the
16:24
To the new technologies hopefully this year and next year, so that's been in production for about for about nine years So the users like it and they're familiar with the kind of the application approach So we're going to be sticking with the the same technologies so this is what's Geo X to looks like and X GS for so you see the the stylings a bit more old-fashioned
16:44
So you can get some nice nice themes with the new version of X GS basically, there's there's hundreds of forms and Layers and lots of things to interrogate to manage to manage roads and roadworks in Ireland Now there's a couple of examples from from Germany
17:02
So one is the geo portal for the federal office for radiation protection again it's an X GS 6 and geo X 3 system and In this case the actual the code is all on github so you can see how the application is put together It's also a universal app which
17:23
Incentia speak means that you have one front end for the browser and one front end for for mobile So you can have kind of two different views So you can connect to it from it from your mobile phone. You'll see something different than the browser and This is a screenshot of the of the geo geo portal
17:41
So you can actually see that online and play around with that system So it links in things some of the XJ X GS components like the charting and the grids. They're all linked together So once you have your data in you can you can quickly analyze and work with the data Another example is Malawi disaster management portal. So again this
18:02
If you speak German, there's a presentation on this from Foscis So I've linked to that so we'll send send the slides around afterwards again it's online so you can play around and see what kind of thing you can create with with X GS and geo X and The codes online as well. So you can you can get an idea of how to structure a large application and
18:23
There's a screenshot there Again, you can see the the layer tree the overview map there. There's some of the geo X geo X components So if you want to get involved in the project, there's a user's mailing list so you can sign up to that There's also you can fork the github repository and as with all the projects
18:43
There's a requirement for for testing reporting bugs improving documentation So please get in touch and just to mention some of the ongoing and future development So I've talked about the the WFS and the OGC filters So at the moment and they've that's just been added in the last week to the to the master version on github
19:04
There's spatial filtering So you can use a spatial tool to select an area on the map It'll filter both the features on the map and the features in the grid. So that's going to be a very powerful way of Kind of querying and using your data Also, we're going to look at the X web components
19:21
So this in theory should allow xjs components to be used in other JavaScript frameworks So you won't have to go all in to using xjs You could use angular or react and still use the the nice kind of user widgets There's also plans to to move further away from the censure ecosystem by moving things to node modules and
19:43
We're planning to have some some more mobile examples So this is if you're accessing the system on your mobile phone, then you get a different view than them from the browser So just in summary so gx is alive and well, so it's in its 10th year now Even though it's been rewritten a couple of times
20:02
It's a powerful and stable option for desktop like GIS applications So it's been around a long time and it's still being updated and supported and you can try it out on OS July 13 on the the latest version of OS your life So thanks for your time and We've got a few minutes for questions and thanks to my co-authors for maintaining and developing the library for the for the last nine
20:26
eight nine ten years Thank you So does anyone have any questions?
20:43
Thank you very much for a very nice presentation My question may be very Basic, but I'm just curious For instance, I have my own project written in react and I want to introduce mapping features So I'm trying to imagine how hard is it to integrate?
21:04
That you're a berry with a react code At the moment, yeah, everything is really based around the xjs framework So you kind of have to go all in with xjs and geoext but with the with the xweb components that have come in the latest version of xjs
21:21
It looks like it could be possible to allow your ex to work with react but at the moment It's it's not possible to you'd have to load in all the xjs stuff plus react and have two frameworks Which would probably get quite messy
21:45
Okay, well thanks for your time and yeah if you want to discuss this afterwards or get in touch then there's details there Thank you