Bestand wählen
Merken

MapLoom: A New Web-client With Versioned Editing (GeoGit) Integration

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
OK so we're going to go out and get started and so this talk is about Matt blue a it's a new web clients which we developed which also has integration which you get and B so let's explain we are years from side to side the tech under some on the rope project which it's 1 of the things of developed under it is mapped essentially Tyler here is also assumed developers also commuter and you know the the OK out so quick to a high level of what we're gonna cover how we're going talk about and what map plume is what mapping does and also we're gonna compare it to a Jew explorer and a kind of why we even decide to buy new life and and also going to point out and some of the features that happens afterward you get as well and and and how the Q a section OK the also in the same map to
this is what it looks like I'm aware and basically it's an open source web clients with capability to edit vector data and with it also has a Duke integration again a big important when used completely the open source please take it it contribute back if you want them and the link for it is down in the bottom there so don't worry and map was developed
on the and the rope project and basically all the capabilities that came out of project at the domain due shape if you go to due shape that or and you'll find all kinds information about everything developed there also have if you go to the get out there for the rover organizations you can find everything developed and again all of it is free of answers but quick idea what rope is that so that you can see a context and were mapping fits in the but the big picture at the goal of rope was to or is to a streamlined collaboration geospatial data between distributed partners and when we say distributed partners is can be different organizations they have a common agency or an NGO and or ball volunteer groups and I have yet they have to basically work work on vector data and and also then that basically pass around a collaborate on its or how does it work right now you end up and basically a lot of times people in that can shape files and KML files and in England around making changes and to get it all back and get invariance in pages a complete disaster so and unless you have a workflow that tries to help help but at best so and because of that of the partners were talking about here it's a white uh um the spectrum and also could be partners from other countries we have 2 very important points once uh due shape and has to be completely free and open source uh in economies as the exper license concerns and also reduces the barrier of entry cost wise for sure and also has to be easy to deploy we have uh scripts where if you wanna put up there that basically the rope node I'll take you 20 minutes ill build in we actually everything that to so and so the idea is that each partner say every organization essentially it's going to have their own instance of broke or due shape I should say and they're going they can have maps layers edit vector data and so forth and then they can say alright now I wanna synchronized and because and data can be version under the hood and basically reusing duty it's actually due get was and funded and developed under the rope project and we do it in collaboration with the balance and and uh essentially because everything's version and then you can synchronise with different partners and you have to worry about which version you have which when you have you to leave this yet at this so it's all good just work so and will get into more details of that and another bigger and bigger focus point for the brokers that it has to work fully and completely when you have no network connectivity and the idea is that um essentially in if you're in a remote area I work in remote area obvious you might not have no connection the other thing is and in it's a disaster scenario you might not have your occasional which might be the overwhelmed and watch just damage and down so that this system also included a modification rather talk and yesterday and but it definitions call arbiters for collecting data again that's free and open source to feel free for kids do whatever you want and contribute back if if you so you can and are the so let's just into demo and talk from here so what you
see here this website and you servitude wrote about illness which is I come this is an instance of and you shape and and basically run a script it puts everything up 20 minutes you have discovered and this is June the landing pages genome essentially it's where you going to have all your maps and layers for those family regional and a list
of layers in this now you can go to list the maps
and let's go and created a new map this
now brings brings up map them actually for beer uses junior high you can easily just add mapping to replace g explore that's piece which is to use and so now we have a map was going and at a M P ever layers as you can see there's a list of servers they can add a new 1 so by default to try to bring in layers from the current head you server that's and and that instance or you can just add other due server and unary that supports mass and implicit at the office that goes with it and also chairman secure but we already have a local
server was sector this will further filtered by the layers are named OT 3 at the end so that his real quick and by the way but the answer let's go back and we're going to have there some other so for example if you want to bring a hybrid map from being for example you can uh to you can click there and that we can select from the so and also by the way when you bring layers for other servers you can use credentials on different servers according to support so and now going reordered this layer because it came up on top and taken under the feature layers but we cannot hide it now I'm OK so we
have a map now we can actually save it and
what essentially happens here and it's to save it to GEO notes so read you know I would now if you go to the maps of pages that have 1 name that the can opener and pick up where you left off essentially from so did you have a bunch of features here
on this map this good and I basically do a future info and 1 on 1 to see and when it has this particular 1 looks like network connections little slogans come in and so this particular feature would clicked on happens side foot associated with it and so it's the 1st 1 that comes up and died years by the way this was that the mobile app harbor was used to collect this and and but and essentially yeah if you were if the specific um feature type we have has a call called photos you know then there's certain we can put it in and the final show I'm also the see a list of attributes staring then below the photos and it goes all the attributes and all the values and that it has an and that's going to just make a quick a crater quickly feature FIL quick as you can see we just click on the corresponding layers pensive unreplicated either points lines polygons multiple-organ multi-line etc. and you can create it out we have dropdowns here for example like rather is that uh you know there's a variety of damage greater damage we can say severe and ends and we have different widgets uh there for example the date and time basically we use the schema that usurper has and to try to say OK and it's going date field number string and and and and also the drop downs were actually pulling from there as well and part so we go out and say this particular feature and the ego and you can edit reopen back up and make can the change to it where the OK and so now that would actually have looked at some just so we take a quick look at this let's think about a quick pause here must go to due explore and 1 explain why it is
that we decide to write a client so that for the 1st year project we actually did a lot of work based on the uh G. explore and we add a lot of functionality Stewart to basically suit our needs but when winter operational demo we had a bunch users we did evaluation and so forth and based common to got back and we were 100 per cent sure as was 90 per cent sure that we define you are writing a client and but quick example we have a layer here we have a map here with 2 layers and forcing users to the click to see what's going on here actually nothing so and you have to know where the identified by is to then go over there and click on it then just a some basic information about the critical feature so and that's when the big problems we had 2nd and 2nd problem is and when you go to actually create a new feature and it's quite come a clunky 1st 1st of all you have to have the right uh they already selected and a lot of times people click on create not realizing which layer there on and they'll drop a point thoughts and stuff then then also in the real so they have to completely redo it on the right leg so that was another an issue that we had and and thirdly and on the screen is not too small so about the look at all the white space that we knew we couldn't really do anything with and and actually equity do here as last year and fast G added you adding guys there were doing a talk and their clients and we saw that they had basically something along
these lines on the on the left side and rely felt that choose looks quite good at that so will and basically partially inspired by them and and um but it's a good these are the same for for many different reasons we actually look into that and we still a lot of changes in the so and also any on the right hand side there also we have a legend which we can go out and collapsed and to give more real state
OpenLayers 3 comes with the full screen
option with the couple changes or couple considerations on R and for dialogs and now your full screen and look at all the real state you have if it's really a big difference when compared to G explore and actually get a quick thing so if you zoom out a little bit in and if you do have and if you click on part a map we have multiple features and it
died is just let people click on the map and you would it from there so uh if you click here it says hey there are 3 features in that spot or if you have multiple features from different layers so let's not even 1 more step that way there's a lot of
overlap and what it does is that it says hey which later talking about I have data and these ones and you can go and click on it and then you can even go back and said so for what observe at least make solar orbit and the red easier so it the have OK and
so we've and we've talked about this so
let's go ahead and take a look at the are
layers now the OK and so we're gonna talk about what we have in here under the layers so users into to date upon very straightforward click it takes all the data that that's part of the a particular layer that you're
using to data on a weird were clicked on born in this order that the structure of so it's in that include all those and we have other bonds there as well so there's a table view so click this table you are you can filter it and also you can edit without so use look for anything that
says for table over damage and then you can hit actually it here so let's say you want salad features that have this value for this call go up to a certain thing you can just a doom doom here and also uh it's paginated everything so refuting a lot of features so manageable and the other thing is is that and you can act you jump to the map here from C particular 1 like a policy where
this 1 is the we wait for the connection his catch up and but the area OK so am next I
we have another born and there skip the clock 1 for for time being revoked next to it on a given layer I you can actually the on this uh
information on OK so the click on the
information like this gives you information about and that particular layer of what the actual name is what title is which workspace REC this could be different and if you go to the very bottom of 1st of all you see the URL because sometimes you have layers from this server they could be from the remote ones but an important thing here it says on the bottom you have the uh the Slayers happens to have a repo anabranch that parameters so that that this means that this particular layer is backed by geo get and you can have a layer's obviously up their back as it would file or with posters and this particular 1 when we went in Dunedin we uploaded the layer with a quick Marcus as a set of by default the into posters output June gets and add that gives us an authentic about good options which and 2nd here as well so let's go and click on a feature the and we have a handful buns here at the tables the same showed but actually Bell select that feature and opens up and but there's a history the so let's click on history I hear this this basically because at this data store and it's sort posters not such a file is due could say it shows all the comments that have touched on this particular feature as so for those of you who uniform reverse side version-control software and it's the same things that we have all these committee can see which user touched it when they touch them and the the color on the this and decide if you see a yellow if you see yellow that means that particular commit this 1 says that particular commit all that compared features in there are modifications as was the Greens are ads or a red sorry moves and so I'll let signed yeah you could see information I commit ID not author and and and so forth let's click on it and so and so now this one's when we clicked on at this opens up the commits as that feature was modified in this particular committee like what what was in that commit and it only has 1 feature if you had 50 features committed at once you'll see the rest of the list as well so now we could say we do see it on the map which were looking at so we're good or we can say let's go out and show changes and when we
bring up show changes as essentially a diff and you have a map on the left hand side and what you can see here is that and what the green our highlighted feel from out of the yellow 1 says as it used to be cast a more tile and now it's all true so and j adjusting the diff for you the same watching so we have a bond in the bottom this is show authors so you can actually as see out of that this
section of the feature that you looking at right now but which user-contributed which values because obviously over time and you know you can
have different people contributed and the
example and that field was contributed by crisis whereas the
1 below it was Santa Domingo for and you can see information on there and
we actually have another above here this says on do change so you brought up a snapshot the same way and I would get this version so for you can try to undo change we just say
revert position we say now we see what this particular change was and we wanna go and and or actually deliver later will come back and diverse interests of OK for that
site called and OK so uh let's let's see so let's go ahead and and now I do a quick as synchronization tests for you we have 2 tabs across the top and let's kid you should both perhaps in others so his heart rate see but look at the URL addresses up there the do change at this particular once his dad died wrote that Elmer solutions come the other 2 have s is
you server to these are both to different U shape instances again you run a script stands up everything that you've seen so far we have 2 different ones
on the 1 particular 1 analyst land use a role that you already have a yeah so notice here in that area we don't have anything this but to the other tasks and this is
where the pilot created a feature so it's red and this is basically to pause for a 2nd what you're seeing here is that as a imagine having 2 different organizations are 2 different volunteer groups or whatever B I 1 of them has the data on the server that been what working they have some data now the other tab represents another uh organization organizational partner now we want sink our data with and so what happens is and you basically action add promotes the same way as it gets has the
most duke it has the same concept and a for the developers really quick and so did you get those really use get is a complete rewrite action has to deal with uh couple more knowledgeable complications but and the idea is pretty much the same so we have promotes the command line interface section is quite similar to give and so we just synchronization from orange and actually from
just over to uh we decided to do a sink to the other server you could obviously that do it the other way around and so and as you can see that it's they're actually there's a notification sections up there and 1 of them says it's about this if you look at the history here and it says that it was created at 1 of 7 at him by car the cell and that's the synchronization and now m so imagine um you have a a repository Duguid repository energy the repository is the same as a database database can have a lot of tables and you get a repository can also have a lot layers so you make a repo you put layers that you consider relevant in there and the other partners clone the same repo now you start making your changes you work on it say for 1 day 2 days to months and then somebody else clones from them make whatever changes on do some things they keep going out at some point you want say so and so what we did is we were able to send uh and basically automatically anything that can be resolved automatically gets result and merged it so you don't have to go worry about it knows well this person changes version so that means this can get marginal problem at there are cases where you can have conflicts so it's actually rare a conflict is a situation where you have to different and
servers are 2 different organizations for that matter changing the same exact feature and the same exact attribute of the feature set at 2 different values and if you have so in this case and title essentially set of surrealist look at this real quick again at tighter set the and then the name of the property to Jews servitude that's because as undue server to and and
and the other 1 he changes the same exact feature the same exact and uh basically tribute we change it to deficit so now when you go to synchronization and so let's see how we do
synchronization and it's going to come back and says
will have you we have a conflict he was forget about now at 1 deal with that we say let's go on and and resolve conflict this brings up and
all the features that have are now in conflict because the synchronization we've only with a plate with 1 feature but you know if you have 2 different servers that were and not synchronizing each other for a week and a lot of people working on it you can have a lot of complex potentially if exact same things happen and were positive quick and say that usually if you have people in the field collecting data you can avoid conflicts with little better process with your processing of the figure out who works in 1 area but let's say get conflicts to come here and as you can see the changes for this particular
1 and so good all the way over hedge as so the left 1 says local local is due server to but as you can see the name of the map on entonces local there with the the 1 on the far right there the map a the titles down that's the other instance and the center 1 is the results were gonna scroll down to trace were what happened here OK it's essentially saying the name of the property that left once it is you server to the other person says and it steps server it by default took server but you can switch up quickly can click and that Aaronson no take this 1 versus the other 1 and actually had there are cases where and and there's a I We have they sure water on the bottom you might say hey let me see who contributed these because if I know was contribute and the other an online as well you know because a reputation known with organization which person is decide to resolve it with their set as being more authority and so so that we say that the and and and
and we're essentially done now and it comes back and we synchronized we have all the layers and everything's going to go so long cost you the
the yeah yeah you can't it's not awful whole feature thing actually and uh just to add to that really quick to so let's say and a gap in that case still good 1 at a time and see which 1 you want actually came in type in what you would have instead of both of them because want to call the castle uh Blanco and calls at the White House but what if you could but well the mentally this this is actually so you can you can go with them and 1 of the things you can have a convex and geometry as well right somebody could move the point in this way the other and without way imagine erode erode could have a conflict as a long feature actually if you if 1 user ends at the end of it in 1 in that it at the other organization it's the other end and that's actually not a conflict is reliably and result also but if they touch the same and barriers then it's like OK 9 I needed and the person loop and in that case in the three-day we merge you essentially right now we have it you pick which 1 geometry 1 so otherwise you have to put controls all in there and make it all useful as well so I'm OK so that's actually and time was were we get time when and 4 questions and we can talk as
much as you want so uh any questions
anywhere quest a juniors could do did is currently at 1 point the 1 on what shortcomings of you see from that aspires us that the on it so we've actually been using uh and you get Judit rightfully due date and because he got renamed because of the main things but nevertheless I we have that we've been using it since day 1 right that you have a core developers have been working at an office on as well so and anything that needed to be resolved it's resolved for us to be able to do the things we want to so I we definitely call it a fully functional and and so and it's is completely functional but there it you can
say I can't say there's actually no wiser anything like that I think I filed with a couple of uh you just a week before last but uh I would consider functional now but following your question and say and should everybody put this start using Duguid and put all the data and you get and dances actually know and depends on what you're dealing with right posters that is optimized for performance it's it's hard to be an you know data and posters performance and but if you want optimize purely for performance you print posters if you actually want optimize for history and merging and all that other stuff yeah you put it and you can essentially so and so I'll be answered could it's the question sure the microphone in Finland so you mentioned that you do get is posters that's something so I certain ways of so you have tools offered like that how do you get out of you exporter so the OK so um so let's actually there we can show on quickly ennobler pitch for solar cycle data into a right so the easiest way to get data into it is if you happen to use you know uh which and have to a command line import you can bring in from shape off from posters that water but the but the easiest way is that we have assigned to and church of film bravery of time so uh so um what happens is that you can upload data to GeoNode and during importers said I just please don't bring a processes but injured that's for import for x 40 sinking worse at Duke is just a data store right and it's got the data store a a wrapper for its which is exposed to reduce server you go introduce a reactionary could do that too and if you types a new name there that's just making a new you repository right there which what this jugular repository look like it's a folder where it . you gets a or I should starts and you get but it's hard to get that but is this a Dutch you get folder and you have everything in there and is very similar to how and get itself a set of reading heavily inspired us and and I so Ajaria uploaded the things I think you uploaded now wouldn't OK so brought into map flu and so if you make an edit them um that's a serious polygon you wanna try to and hope that the and I guess that so but yes there is a editor at it should be there and then say and then you could you have to use and that's request of the sure I think you're much so that if you could just today and you know it's at the easy way you just go to particular layer and you have all the opposite pole that how we won and actually um let's say to me and so I guess I need a quick announcements is technically we're best and we have 4 minutes but next presenter here for next talk I at the OK alright so if the person has income will can we can keep talking sounds like that haven't picked up the registration or the past so there is a prominent here so I but am I wanna show something really quick and and if any areas have to leave because the next are grounds to as so let's go to map a real quick if you 1 for the history of changes that was done in layer beating 2 different times as an Excel file you can actually do that too and and all uh let me tell you that shot but but yeah you could you could bring up stuff to say for this repro in this time range what changed any tell you which user what and all that stuff so giving a lot of expression the yeah I'm speaking of serious polygons where do you see the limitations it may be a combined question to to give again to map of the limitations size wise how big with the datasets be that he still edit so
our good question and so and
definitely when you put data into did it takes up a lot more space I mean because I guess money this is keeping track of all the history 93 is a canonical representations of so it this size goes up really quick right and however and I mean you want to part I think that's actually as I understand was as concern about that you get on that 1 is x sometimes I choose our laptop so that we will give this shot but it we should have any and really if this has problems OpenLayers 3 edit controls is what's making right side that's actually was like my concern and and and that work when the course OK yes so that's fine but I wouldn't say as so if disk space that is not a concern for you I wouldn't be too concerned have however depends if you're gonna put all the roads in always and for all and you definitely push it so I think we had we had a repo with scripts we ran about 300 thousand commits on there and it's
the problem is that this or that doesn't work but where you could get to the point where some your request I just did a lot get longer and
your request like timeout not depending on what type of things you don't so but if you have a specific example of the type of data I can give you my personal opinion for whatever is worth after this an unsupported for what again I get all the rows for a country or something and I would I would try it and if it works or ought is ahead however and you really need to have it all versions because it again it has because it all red right it's it's good for some listed brothers so and again as quick analysis for those of you were just coming in looks like the presented that was supposed to be in this room but it's not here so I'm worried continue to take questions and so if you if you happen to have um and questions so no promise I did did you mention how you then get it back into a post GIS so am are workflow is that that's for the data that we want history on we bring it into posters and state we bring into Duguid I will leave it there have however if you do you want to take it out and was the command line uh operations with that with this devil a check sports so you could even at the terrible work-around would be you could even downloaded from GEO node and then push it into the other 1 if you want to see poster so guy um I think if you when you take it out of which you begin your stripping all that history to right so if you just want to bring it out to do some analysis because you have some stuff set up in blog posts just show do that way but then you have to be careful to did not start making changes there's somebody making jet and all that business
but sensory questionable the OK replicated in poster singing or on it you just know at the all the history stuff it when the expert to posters that puts you expe on a particular snapshot right you can say for this commit this on exporters and the other you and you just take that yeah that's completely article did we have a question of ship so is there not a way to explore the snatch so sound like the way strong and you get your storing the full feature of history not just of the death of but so there's not a way to export of based on a primary key and see the differences over time for each record so actually enter lists lists that you can actually do depth 1st of all and and it's safe you wanna see the history of how things change over time exact but you only 1 is u deaths and the full so basically if you go to any particular snapshot you see exactly what they're what's right and you can actually do diffs here so for example and let's go ahead and so basically when you when you open up a these features and you look at this and you can actually you you kinda weird we're displaying what the death actually yes you know what I mean so you can see it by thing on this new question quite honestly so the OK only did gifts or exact snapshots all along the way OK so if you wanted you all steps all along the way use essentially exporters specific commit so you could you want at this early the In WFS 2 . 0 feature ID split into 2 see got the feature ID and the revision ID so when we tie assumed to GeoServer given funding will be able to report back your edit history on a feature or questions all rights by the way out if by mentioned that basically this this client is using angular I can actually out so you mentioned those that the arbiter mobile time is that like as a minimum ended and then that's fully open source for Rovers absolutely everything we developed under year is source and yes I we we actually developed we have talk in this yesterday we end up developing to mobile apps we had the 1st version was poured over um and we often get base I should say and and we used and essentially the G query 40 you I had that problem we have with that is J query and poured over Rn great sundial simulator ran grade on IOS he ticket on Android to Rosy's extra flickers here and there and pauses and all kinds of weird monsters a so and they were like 2 and a half months away from another major deadlines are like OK we're gonna write another 1 so we did a more native version I wanna Seymour more native that's only because you use GS library you can only go so native right so is it just a library so use the running and whether you and but all are you I was about 99 % over you I was native so that made it really look at the a lot better and function a lot better more responsive etc. and and yes they are both available if you go to the road and GC key and uh the organization due to arbiter once make shouldn't wrap the wrong 1 orbiter is the first one or Android is the 2nd 1 we have so the first one and uh I mean but you might as well because we have time on the so and other at Apricot and then we be essentially make the up pushpin always some as as well we use phone gap for it and OpenLayers 3 and just a couple of the guys and are free cycles hinder the work answers is not the Flickr is not complete but it's functioning and and that 1 uses bootstrap with all 3 all 3 is much lighter in and the overall of things is running a quite reasonably there and so but I don't resent societal what too scary away I don't want to scare away from only form gap solution so it with the or problem was the combination happen to not work and they're actually turned it turned out to be books so that if you go with bootstrap and say all 3 leaf litter whatever you should be fine however it's feel less solid as needed at the right of that with the use of web so but it will capture do you feel the
presently and you get would be capable of handling millions of features but the ellipse filter by time so as the way can temporally OK so terrible yeah yeah and the after OK so millions of features and some we I wonder Reapers with scripts Regeneron stuff I we had a 300 thousand commits an commits is what in the class in more than actual features right so that if you end up having 1 commitment million future actually going to be just fine but however having commits you have after that and and so forth and as far as it being able to filter by time and right now we're not doing anything temporal and mastery obviously has had interested dealing with temporal data and making sure everything runs perfectly fine there and we were actually uh we had all and we're trying to line up with MAP story and Connor complement each other's work but things got out a schedule wise didn't quite work out however that is something that in his work in in the palace is working on has to get work and it will be working so that and don't see that doesn't work now but I can't give you numbers right can feel comfortable saying that you have done that this is how runs so the bottom line of it is and if you have millions of future and you have temporal did not do enough disk space enough memory I I believe you should be fine and and all no no it's not an index concern it is a resource concerned like things are definitely larger beat and if it's something is larger and this proprietary larger memory right so and you pull in all the history as well so I you essentially there and when you start to have a lot of data in or a lotta commits you and end up getting to the point where you responses could be taking longer than like to now and what 1 the stuff that are able to get in and Gabriel with the palace that essentially and we we have it so when you commits by using wfsc T and ended the and the data back at the data store back in this is due get it does and you do saints and mergers and all this stuff it triggers at to invalidate the tiles so that you can they can basically trigger uh invalidating next under generated and from there on the cash again as I did what about silly but nevertheless they call it do we have but an effort there for sure and are so if you have a lot of features not changing a lot all the time and then you were OK with having cash data you should be fine again so you know it's just gonna work get the right answer the AP yeah it it's WMS slashed RDFS well
so let's go back and it's is both the above above rights that were you looking out right now is WMSs as you started so OK question I using any a unique resource identifiers for linking to changes linking to map areas I was in a matter of fact if I want to tell Michael K I did this edit number 315 you look at alright so he was built to make edits well there's a commit idea right making it the rest they arrest and 1 of them and that the Amish jump sincerely but flat out good who
am I to the good to slash will go to due foresight usurper up there and then after we get to that you get endpoint
that essentially you can run due to commands and the because it's arrest fish API so an but you just go to the duke it 1 that's why justice this go there let's enumerates see what's there so I right now were
undue servers so and we undue servers duty at rest API right and those are the repositories of uh repositories available were gonna pick on the 1 we were uh what was revealed with and and then we can say a lot right so if you just about this flat out your your your lock right so I would say what you would do is the question is can you give somebody commit idea and that haven't bring it up really quick and the short answer is no server long detour however with a literary change you can make the History panel just have a filter because at beginning from the API no problem is it done it 2 sets right and but then having it on the map and everything and we just have to you just have to make it so that the the History panel maybe Pooler thing there was some you can type in part of their commit passionate enter and comes up and show so would need some change but on appreciate built during day so but article questions chair but this is good the so there was talk earlier there was kind of about map and I never got to know on the devices in on ended up would you store in the data and the big i said that it wasn't you get using specialized year so I you 1 we can bring up the emulator as brave but you want you that a shot real quick and close ending also as so and it so let's see so the clicker question is and we should be a the mobile device that we use for data collection and so on so the idea of it is that you can actually and you specified as 8 error an area of interest and on a map and what it does is you say alright make a project for this add layers and so forth takes all of the tiles in that area and it has all the vector of features not area puts them all on the device and your question as well when you edit their what happens in a way store yes the shorter the short answer would have been had to say that the ad that yet we use a sequel light essential essentially to have Justin Davis so we just flak things that he was edited it was edited and so forth so we keep track of all those and then when you go to synchronize this and the the mobile device when have connectivity again when you go to synchronize with the server and it says hey and these are the change once and makes a dead BFS FST posts that way and goes from there now you might ask how do you make sure and versioning EVD is complete call there that would be a very good question and and answer to it is that and we didn't want people to have to deal with conflict resolution mobile device right when you have a three-way already oddly enough anywhere right so and we ended up going with they also because of time is a is a going with last last person wins on the mobile device and that might sound terribly bad but when people are out in the field and making changes and if there is some process to say which area you work a like a task manager something along those lines and then you'll be just fine and however if you really really want to try be sure you could probably do something along something along the lines where and you when you pull the data to get the commit ID at which point you got the data when you go to sink I basically and make a transaction get merged to grow from there if there is no conflict had fantastic everything now gets in and nobody stance in anybody's anything but but and if there is a conflict the only take out the few features that probably were in conflict because former drove it shouldn't in conflict and put those on a branch get everything else in and then let somebody in a web client deal with any was ahead of time I you but we haven't had Judy that has just in Grand Duke it's on a more why not so but it was on there like remote talk about it but the book if up as so and I know they were initially were sometimes for it honestly up if I had with we had to do it all over again nor what we know today I still wouldn't put you get on a mobile device goes got to think about it I mean it's it's more resources in an animal was a lasting you have too much as spares resources of questions but could you just say a little about developing with angular and on 3 alright so as back to where we were so last last year false which you rent to talk and uh the Giáp in German with Japan's work genome project the demonstration which recurrent inspired by this smaller minions site and um let's see um so we'd be basic sort out and they're like there were using bootstrap all 3 in and and angular so we went back and we decided that OK me to change it may different clients no know angular and but is gonna happen and we have 12 months to not have the full everything but actually put in front of people to replace you explore for sure so the barrier function you have to be there and there were their learning and the learning curve on and I angular is not trivial but and there with the cool thing is when we didn't know finally not we definitely got this and you would get some point you like what's and and we all we 2 3 times we went through this where we were like in a completely got so it has a ramp-up time for sure a however and we would have exactly the same way all over again even with small time because once you get going and it is so nice things or so module or I mean if you go and you explore and you try making changes this may the Lord have mercy on your soul because it it's user experience is 1 thing but 1 side it's it's it's rough because you got an API rapid an API have to stuff he was exposed as and things are not module enough at after at where we done completely exact same thing all over again questions current sure all Cervantes the so as you get is down geocache exception that death there's a bunch of experiments in the codebase with different database backends can give me any comments on next licorice graph databases all this crazy stuff to to try and give it so far right and I j I would've loved you produce 2 years by the watchin alive so using this minor right now because here but the skin but and so on alright so we experiment a lot which you get so how would you see working right now to meet are expected error MER functionality and we've gone through a lotta changes so we're talking about a graph database from the address that really quick be then we'll talk about the database stuff and so uh internally we kind in needed we start the project with the need to be able to say hey I have this repositories humongous I wanna chunk out this area work have version control and in sync and everything works like there's no problems at hand but this sort of of uh basically and get portion the data and still be a fully functional and repository and so showing quite high right himself and yet you get get itself may you know even has said that stuff's tips somewhat we turn it turned out that the word doing some work to words that but I'm and essentially who um we have to represent a graph of all the history of what the previous commits are and we use that to try to do a cause of sup shallow clone you know where you say alright and I have a repository year and and then and it has a thousand to uh commits in its history I only wanna you get the last 3 are the last 100 we band of implying that with a graph database and also had been partial close to try you only subsections and so forth and In this process we switched many times is an area JD wrote that in all these algorithms to try to figure out how to get is writing and when we're talking to this stranger them straight and they're still resolve our problems but that long institutional question is that we've got to change in their graph database back in a bunch of times but and it's it's good now am however the other question that a love for and actually um Michael Wiseman if you was you love them to you maybe he grew given at a better answer to this is actually changing day the back of what reason so right now we're using Berkeley DB and had to store all the features and so and I know that and basically ballast has put some time into trying to replace it with long go to try to make things more scalable and but quite honestly I don't have any performance metrics I can tell you would doing this change it to this word didn't but it should therefore be more scalable but I don't have any of the 2 4 questions but was surcharging after some developed a western areas of stress in no please do like you and is getting a the please all of there so all I've never really used node but of is the way is to like you know is the the concept roles like so I said to you know that you know we manage firefighters data and we allow them to log in the website edit would there be away from you know super user but then so these people can log in and do that and this state of selected it it is sort of related and where the chance but and how did it suggests that you want your really really so actually by a it used to be a firefighter some fiber really works actually will get information to assess the status cycle so that is so the question was actually we've never talked about layer permissions right so and like what if I have a repository but I don't want certain people changing certain things you will bring them out and you know you can easily change permissions and so you can socially opener layer and you can say hey this it anyone can see it that is somebody has not been authenticated I'll or air only registered users can see it or you can say a group can see it and so groups yes so and will go to the group page and and I have here this is explicitly listening users to have access to the data and then also you can do it for groups and so every request that comes through it look specifically at that user was the on they have access either explicitly themselves or their in a group that has access so that the bond induced over of dispatches this all the and authorization logic to due note so as soon as you change in here juice or automatically will chase away source of the data right so so this user consider capabilities requested on nope but this layer exists active members would return a 404 for that user but on users who does have access to it would get the 200 and actually see the wire part and the good capabilities so the graph or I guess what's a grand 9 minutes before as soon as the presence of that and but kind of so it's written in Django so you can easily during the questions for the recording so so the question is not changing the authentication and you have of June of users of the Django as a web framework and you can easily change your occasion to all that or remote user authentication which is probably what you want for single sign-on right of the right or all yet which is remote user new can change at nominal variable to whatever you want so I it's really easy and Django of would say that were using those June of 2 . 0 release which had cost owned permissions and and since then we change to a much higher level library that will allow you to do that but this work and you know right here wall walled so in other words the other 1 that's an asteroid now works on receptors 1 line code for you change in your did go this 1 you have to customize it to to make it work so of the release of version of early next year so or like this year's really ghrelin and tested on but it should be a 1 liner for you but the thing works out right called right were questionnaires you have 5 minutes and alright so well I thanks guys go or a please go to the output of the get up page again please go there fork anything you want and so on uh you know please commits the contribute back would be more unhappy and to have answer any questions open up issues on there and then harass him her harass me and depends what kinds of new stuff so but yeah thank you very much the
Mapping <Computergraphik>
Softwareentwickler
Desintegration <Mathematik>
Browser
Garbentheorie
Projektive Ebene
Data Envelopment Analysis
Softwareentwickler
Kommutator <Quantentheorie>
Chi-Quadrat-Verteilung
Übergang
Lebesgue-Integral
Demo <Programm>
Mereologie
Punkt
Invarianz
Selbst organisierendes System
Desintegration <Mathematik>
Browser
Mathematisierung
Gruppenkeim
Versionsverwaltung
Vektorraum
Stromlinie <Strömungsmechanik>
Punktspektrum
Computeranimation
Homepage
Open Source
Domain-Name
Gruppentheorie
Minimum
Mobiles Internet
Skript <Programm>
Stromlinie <Strömungsmechanik>
Feuchteleitung
Serviceorientierte Architektur
Einfach zusammenhängender Raum
Kollaboration <Informatik>
Shape <Informatik>
Synchronisierung
Datennetz
Open Source
Physikalisches System
Vektorraum
Instantiierung
Kontextbezogenes System
Binder <Informatik>
Elektronische Publikation
Fokalpunkt
Lebesgue-Integral
Mapping <Computergraphik>
Kollaboration <Informatik>
Flächeninhalt
ATM
Client
Projektive Ebene
Information
Instantiierung
Fitnessfunktion
Web Site
Computersicherheit
Mailing-Liste
Dialekt
Computeranimation
Office-Paket
Mapping <Computergraphik>
Landing Page
Server
Skript <Programm>
Default
Instantiierung
Schreib-Lese-Kopf
Mapping <Computergraphik>
Subtraktion
Server
Einfach zusammenhängender Raum
Umwandlungsenthalpie
App <Programm>
Punkt
Datennetz
Mathematisierung
Zahlenbereich
Systemaufruf
Mailing-Liste
Polygon
Räumliche Anordnung
Homepage
Mapping <Computergraphik>
Datenfeld
Digitale Photographie
Widget
Datentyp
Mereologie
Information
Tropfen
Gerade
Varietät <Mathematik>
Attributierte Grammatik
Zeichenkette
Lineares Funktional
Nichtlinearer Operator
Demo <Programm>
Punkt
Mathematisierung
Raum-Zeit
Computeranimation
Mapping <Computergraphik>
Client
Rechter Winkel
Projektive Ebene
Information
Tropfen
Gerade
Aggregatzustand
Leistungsbewertung
Touchscreen
Mapping <Computergraphik>
Multiplikation
Subtraktion
Mereologie
Mathematisierung
Orbit <Mathematik>
Eins
Konfiguration <Informatik>
Aggregatzustand
Touchscreen
Mapping <Computergraphik>
Sichtenkonzept
Determiniertheit <Informatik>
Mereologie
Systemaufruf
Datenstruktur
Ordnung <Mathematik>
Tabelle <Informatik>
Mathematisierung
Eins
Software
Reverse Engineering
Minimum
Uniforme Struktur
Speicher <Informatik>
Default
Funktion <Mathematik>
Einfach zusammenhängender Raum
Green-Funktion
Mailing-Liste
Automatische Differentiation
Elektronische Publikation
Quick-Sort
Konfiguration <Informatik>
Mapping <Computergraphik>
Flächeninhalt
Menge
Server
Information
Kantenfärbung
Repository <Informatik>
Bell and Howell
Tabelle <Informatik>
Mapping <Computergraphik>
Autorisierung
Subtraktion
Datenfeld
Parkettierung
Minimum
Mathematisierung
Garbentheorie
Softwaretest
Web Site
Ortsoperator
Adressraum
Mathematisierung
Versionsverwaltung
Information
Bitrate
Synchronisierung
Task
Shape <Informatik>
Subtraktion
Flächeninhalt
Selbst organisierendes System
Gruppenoperation
Gruppenkeim
Server
Skript <Programm>
Eins
Instantiierung
Resultante
Punkt
Dokumentenserver
Datenhaltung
Gruppenoperation
Mathematisierung
Versionsverwaltung
Zellularer Automat
Gerichteter Graph
Synchronisierung
Energiedichte
Server
Garbentheorie
Softwareentwickler
Repository <Informatik>
Klon <Mathematik>
Tabelle <Informatik>
Selbst organisierendes System
Kategorie <Mathematik>
Server
Synchronisierung
Attributierte Grammatik
Datenfeld
Prozess <Physik>
Flächeninhalt
Mathematisierung
Server
Versionsverwaltung
Resolvente
Figurierte Zahl
Synchronisierung
Autorisierung
Resultante
Mapping <Computergraphik>
Selbst organisierendes System
Kategorie <Mathematik>
Wasserdampftafel
Minimum
Server
Default
Instantiierung
Loop
Punkt
Selbst organisierendes System
Konvexer Körper
Datentyp
Gamecontroller
Versionsverwaltung
Räumliche Anordnung
Feuchteleitung
Punkt
Rechter Winkel
Speicherabzug
Softwareentwickler
Demo <Programm>
Office-Paket
Shape <Informatik>
Prozess <Physik>
Dokumentenserver
Wasserdampftafel
Minimierung
Mathematisierung
Sprachsynthese
Kombinatorische Gruppentheorie
Elektronische Publikation
Polygon
Mapping <Computergraphik>
Polstelle
Texteditor
Arithmetischer Ausdruck
Spannweite <Stochastik>
Menge
Flächeninhalt
Rechter Winkel
Registrierung <Bildverarbeitung>
Datentyp
Wrapper <Programmierung>
Dreiecksfreier Graph
Server
Inverser Limes
Vorlesung/Konferenz
Speicher <Informatik>
Weg <Topologie>
Punkt
Rechter Winkel
Mini-Disc
Mereologie
Gamecontroller
Skript <Programm>
Vorlesung/Konferenz
Repository <Informatik>
Raum-Zeit
Subtraktion
Web log
Extrempunkt
Selbst organisierendes System
Schaltnetz
Mathematisierung
Bootstrap-Aggregation
Versionsverwaltung
Familie <Mathematik>
Räumliche Anordnung
Gradient
Monster-Gruppe
Benutzerbeteiligung
Bildschirmmaske
Client
Datensatz
Knotenmenge
Diskrete Simulation
Datentyp
Programmbibliothek
Vorlesung/Konferenz
Analysis
Expertensystem
Nichtlinearer Operator
App <Programm>
Open Source
Güte der Anpassung
Mobiles Internet
Orbit <Mathematik>
Abfrage
Mailing-Liste
Humanoider Roboter
Quellcode
Flickr
Ein-Ausgabe
Singularität <Mathematik>
Rechter Winkel
Dreiecksfreier Graph
Schlüsselverwaltung
Aggregatzustand
Punkt
Mathematisierung
Eindeutigkeit
Klasse <Mathematik>
Zahlenbereich
Hinterlegungsverfahren <Kryptologie>
Raum-Zeit
Mapping <Computergraphik>
Scheduling
Wechselsprung
Flächeninhalt
Rechter Winkel
Schwebung
Automatische Indexierung
Mini-Disc
Festspeicher
Endogene Variable
Ellipse
Skript <Programm>
Vorlesung/Konferenz
Identifizierbarkeit
Speicher <Informatik>
Gerade
Prozess <Physik>
Punkt
Browser
Bootstrap-Aggregation
Adressraum
Gruppenkeim
Versionsverwaltung
Fortsetzung <Mathematik>
Synchronisierung
Hinterlegungsverfahren <Kryptologie>
Übergang
Homepage
Client
Algorithmus
Datenmanagement
RPC
Gruppe <Mathematik>
Abzählen
Vorlesung/Konferenz
Urbild <Mathematik>
Kurvenanpassung
Gerade
Feuchteleitung
Funktion <Mathematik>
Bildauflösung
Lineares Funktional
Obere Schranke
Dokumentenserver
Physikalischer Effekt
Extremwertverteilung
Datenhaltung
Mobiles Internet
Systemaufruf
Ausnahmebehandlung
Strömungsrichtung
Quellcode
Transaktionsverwaltung
Datenfeld
Rechter Winkel
Server
Projektive Ebene
Information
Normalspannung
Aggregatzustand
Fehlermeldung
Web Site
Subtraktion
Mathematisierung
Abgeschlossene Menge
Mathematische Logik
Framework <Informatik>
Task
Datensatz
Benutzerbeteiligung
Weg <Topologie>
Front-End <Software>
Leitungscodierung
Datentyp
Programmbibliothek
Speicher <Informatik>
Einfach zusammenhängender Raum
Autorisierung
Linienelement
Graph
Relativitätstheorie
Verzweigendes Programm
Vektorraum
Quick-Sort
Mapping <Computergraphik>
Flächeninhalt
Offene Menge
Parkettierung
Dreiecksfreier Graph
Mereologie
Authentifikation
Wort <Informatik>
Klon <Mathematik>

Metadaten

Formale Metadaten

Titel MapLoom: A New Web-client With Versioned Editing (GeoGit) Integration
Serientitel FOSS4G 2014 Portland
Autor Mesdaghi, Syrus
Garner, Tyler
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/31765
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 The need for a user-friendly web-client that enabled effective geospatial data collection, sharing, and collaboration for the ROGUE project motivated us to move away from our GeoExplorer based web-client. Our new web-client, MapLoom, is based on OpenLayers3, AngularJS, and Bootstrap which addresses key shortcomings of GeoExplorer and provides an intuitive and simple interface for performing complex GeoGit operations. The capabilities include per feature and layer history, viewing difference between revisions, merging, conflict resolution, and synchronizing with multiple remotes through the UI. The ability to synchronize a repository with multiple remotes is just one of the reasons why development of GeoGit was the solution to our needs. GeoGit allows distributed versioned editing of geospatial data at a feature level and allows the repositories to be synchronized even in disconnected or reduced connectivity environments. This talk will cover our experience developing the web-client as well as highlight the use of GeoGit.
Schlagwörter WebClient
OpenLayers3
GeoGit
GeoExplorer
AngularJS
Versioned Editing

Ähnliche Filme

Loading...
Feedback