Bestand wählen
Merken

State of the (Geo) Gem

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
welcome to the state of the DOJ the the I'm secure and
memory years it all started out innocently
enough if you do and rails applications with friends after work and eventually enel addicted as work equally time doesn't like it might but doing it like it was my job is started embedding it was seen jobless so you get the fix unneeded SPE was although I like of sand in I think would the time the now I belong
addictive but in all seriousness I
love Ruby and hello deal with new data talk about how so ways that we can make Geo play better with Ruby and vise versa so on it was 1st little bit of background so as
by training on a geographer the and I realize that in order to better Geograph should probably went to better computer which led me to
our learning how to program and so eternal on different languages offer size and the 1 that stuck with me because it can got my way kind it was get things done was Ruby
created by this menu and that's not some created to make programmers happy essentially and it makes it leads 1 programmer happy myself and I hope others so In this kind of interpreted scripting language can like Python has superficial similarities to Python but from it's not as well supported in spatial passenger everybody in this audience knows and well I'm not too fond of it because I'm kind of
snakes so um and by show of hands how many of you have used will Rubia applications and how many of you have used it in the actual spatial obligations and great I'm sure there's been a few barriers because of the of it which will we which world talk about In a whole Iot a kind of a conducted before and during the conference here I learned that many
people love the Ruby language and they came to GEO all later and they're using it more out of stubbornness then they are out of any sort of practical reasons because they to love the language of a guy so the sample nervous and a little scattering apologize so the that up a question of what came 1st the review the
Geo In most cases in the polls conducted it was definitely the re and they brought in in another geo later and this has implications for how we think about the geolibraries as we move on forward and how to make it better for everybody now while it's not as thorough as as as you some other languages there there are a lot of Austin things about the language in the
surrounding tooling that actually make it out that actually make a great choice and the 1st of which I'm a big advocate of a huge area it
is it runs on the JVM and you can use Java library scholar closure libraries all those in a fashion just like you would any other class in Ruby like so
so here as you can see instead of requiring a library we can actually have a job pulled with the require call using Jeremy and we can even use the job and more calls and we used our classes just like the would classes it's actually a lot nicer to work with or we can work with it is out of it should be out of action we call that influence the US and the directory that new that the point of coordinates and so we can work with Java like Java or we can work with that like Ruby I prefer the review way myself the but what's also cool uh Jeremy is
you can actually inherit from a Java class directly so here I medium pointless here from the GTS . class in Java and use it you really style so now I'm just saying we got it will happen coordinates and go so that makes a lot clearer 1 other thing I love about about this language is the heavy use of
that of that the finals of foreign function interface and this allows MRI and Jay Ruby to actually use things of C libraries so a Michelson code going be kind of
odd-looking contains the will cannot talk through it a little bit so 1 of the 5 does it is it allows you to load in a C library and then call calls so these are also the functions of the what you have your specifically so have of the year that you any out so that I you can find those is true thank you and also in the next slide you will see where we have those functions and so we have to find the library which in this case is that she L and attach each function summary over those functions there in that block and it's going to attach each function and so then I you can use them much
like you would of C library so here the result here I'm calling the same function that geography of have it in other ways in and idea that a story usable in and so so you can do a lot of a vertical divergence and yes it sorry of yeah yeah an aside from just kind of the libraries we have a number of genomes
there have been actually built up by people in the community to actually help you do spatial applications the most widely known of these
is far Geo it's kind of the the gray-haired grandfather this points it it's a few years old but it's fairly well tested and it's fairly well use unfortunately it has a lot of complicated usage In actual applications like you have to actually yes they create factories and pressure points into factories which is not very in general but that's that's a great library and if you need to get things done and there are a lot of people who are using a solver StackOverflow can do a lot of help with it there was so much changes in arguing it has has extra things like the judges in module ActiveRecord module and 4 modules that you can use to actually use with other libraries within the community but in under the hood it's been modified so they can use that FIG us so it using the geoss library underneath but of underneath the covers if you actually have if of Justin Solomon system it'll allow it to use that instead of the ruby but a bindings and if if I just as as a well light energy will use project as well and it is actually very solid and allows you access to pretty much all the just sweep in really the there is also an FFI proj for library and this this gives you access to approach for so you can do for projections in you Ruby applications using the real approach for the covers so using these cues of I have some use cases where I saw a couple of of kind of gaps and so I went through created FFI of you are now there were others that users should yield the hood but it was only the C extensions which I was deploying under Jeremy at the time which left me out the cold because this acceptance for injury really is not not well supported and has actually been been of deprecated and can be used if you would compile your own but that's a world of pain that I do not want to enter so accrued Afify I would you are which rhapsode you are with the 5 so call in MRI and J. Ruby and and all and other interpreters that she support of 5 I had started a similar library for for Rasta functions however on there are certain problems in that we don't have a good and events n-dimensional arrays support lecture num pi Python so we were lacking in certain certain natural functionality that's going to be very difficult to overcome this time without a lot of work on our part so if anybody is really interested in in initially using the rasas without the GL let's chat about assuming making it an n-dimensional array library that that work in a shitty Ruby and MRI so along this of of I think of Osman player enters the analogy see bindings for magnet they I have a few of the function that is kind of nice and I can create basic map with that so now 5 we that Ruby which is can we have playing with them now there are other libraries that are out of the kind of I think you're going to be kind of feature of how we think about spatial with in Ruby 1 of these is actually done by the coral and here's Terraformer and it started off as kind of a poor of the JavaScript uh Terraformer but it's actually in talking with the creator country their own he never chatting about it and he indicated that it's going to be something more it's not just going to be a port it's going to actually a library where you can actually go and use your and so you can create in a very we likes like say I want to add a point I can just actually put push the point using the uh the the the the the the angle brackets as I would on on 2 to iterate structure make a multiline or multi so on and so forth so it kind of gives you ways to very simply Kriol those geometries in a way that you would think otherwise if you were already using using using this language as as you would typically expect there are there are also some historical gems that I like using of often used in the past on the geocoder a lot of
it you have a Geo comments now wrapped up and as really but I under geocoder's actually stop resulting can be used on it it is older it has been actively maintained but it's yeah she still basically works and I have found it quite useful in my own the there are also some expansions into using filed you can be when they when they come then she wrap the Esri libraries in the filed and so you can actually use those in your application as you would any other data source which is kind nice now so we have a lot of these small bits and pieces there's just not really cohesive system to bring them all together and that's that's where I think were largely lacking you hear a lot of pain if you haven't already and and I apologize we can talk about later but I don't know in my whole job at Sanborn we had a use case where we did aerial imagery and so I spent a lot of time watching making tiles and hosting quickly so I needed a libraries actually build up a transceiver very quickly on the stack and we were already using so that's how Tyree was born n this allows you to use user she and tiles as readout catches and entity TMS to tell like well but all mostly and so you can just as she dropped them in In all on a lie that entire session and it'll just add on a map and you can just kind of it's configurable in much the same way that comes to pile stashes configurable this and so these are the germs that I commonly use in my spatial life then I would love to to chat with others about those they use in their own but don't specialized now as anybody who's worked with this language with a special nose is there are barriers the
end I feel that mainly of the barriers lies in the fact that we have a language that is very expressive but we have a lot of people who don't know geo and those who know geo tend to Over complicate solutions and so we have a problem in that we have these libraries that have all these cool things you can do but to harness the power of it you've got a year of the diving in the sources are documentation bad you know it's not very idiomatic in that in that were really at extra factories an extra work and so I think there's a time for a conversation among the that those of us who are interested to join our
organization here and were opening up of a discussion we started last the BOF session and so for what you think is missing and how you think we can fix it so hopefully as a community we can build up a suite of tools that can make a b a 1st class of amateur spatial language so hopefully anybody who say like underlying application rails will agree I need to make a map will how I do that well here we can help so if you have ideas please if you join us over the discussion we can the US open issues and we what we're we can talk about it that said I think largely there is some growth in in in
in in other respects the there are others but these are the companies that have seen using using the language of the more so than others on every is a lot in the acquired companies and of course 0 dB is is partially on not static the there are hybrid stacked now but it was largely started often rails it still has to some on the roster spatial networks of a the fulcrum act is actually in rules and they're doing a lot of work over Sanborn what whether image processing such in results and so so all in
all but I think the future is bright and so on but it's going to take a lot of work by everybody in the community to actually build this up and I think it is truly an offer of the community and so I am for all of you to actually join me in had conversations and hopefully will it else or crank out some code astride type keep short into everybody's in a hurry to get to that to that he hopped out again this afternoon but so thank you that is know
eyes actually and so if you have any questions or what have conversation but there's no 1 after restricting this chapter so that's actually OERu had come a quick overview so selects let's get this conversation started a questions concerns comments good thank I and by the trails as a front end for some the management of a couple different geo-spatial applications on 1 or the other pieces that were trying to go and use is WFS this morning of web processing services the defector language in both the open source community that has received the pi OK so for for me and and and the the small b was working with was kind like OK like you to try to teach them Ruby or I continue your let them go down the pipe out which everybody else's are used for it I think 1 of the that would be nice to see in terms of types of libraries its focus on is a way to to have review wrappers for those same libraries that that like psychiatry all these other guys do so that it's more examples of such more right up front and maybe a very simple of you the EPS implementation that is more recently that the the material seized upon do yeah no 1 way that we can actually get get like the WFS and such is a Shigeo script the bound but is a project actually the on it's a permanent Python groovy scholar script and I sort of poor on a couple years ago and it's not as functional as the others cause I kind of got away for work from the job although but on that that would kind of your path of least resistance if the decision easily but you're stuck on the Jeremy stack there if you not deployment Jerry that becomes a problem on dependency you're adding that you don't necessary have of so I mean that an entity sigh pies of course going to have to touch of your problem because it's it's Python we can't repertoire of Python nearly were right but the n-dimensional arrays all those kinds of things things that we we that that we do need I've seen projects stopping died in started die in that space and so I love to actually see it but I mean 1 thing I think might be useful is if there's like a C implementation that we could Afify wrap that might be kind of our where path of least resistance there to below was told by agree all those things are necessary in a few good if we build simple the idea is this simple simple simple because that's probably why a lot us use that language anyway because it it's it's simple MIDI to grab hard to master I guess on so so yeah yeah you have to appreciate how can we use where the rail shop primarily into we're doing a lot of things in in focusing now on the geospatial applications and so on and I'd be interested in hoping in the discussion on get help but also seeing if we can start to our but and flesh out uh I really enjoyed your talk of flesh out some of the things you talked about in your talk in putting on whether documentation include simple so Rubia's who were starting to say hey this is the best this is the best way we as a kid like you think this is a really good idea good way to start I hadn't even seen the Terraformer library that there are terror all right library so that was that was really exciting to see if they can have a hidden away in a CPX since is really and the act that the management of sites of looking at my phone right have you have to talk to so was exciting so if there's a way that we could late bring this knowledge together in that that on that discussion had a really be interested to see that absolutely will let's actually Chad after this info and everybody on the group and we can also block start the conversation and start a revolution good most
Prozess <Informatik>
Festspeicher
Besprechung/Interview
Kartesische Koordinaten
Aggregatzustand
Computeranimation
Aggregatzustand
Bit
Räumliche Anordnung
Computeranimation
Wellenpaket
Formale Sprache
Mehrrechnersystem
Computer
Ordnung <Mathematik>
Computeranimation
Programmiergerät
Formale Sprache
Besprechung/Interview
Kartesische Koordinaten
Ähnlichkeitsgeometrie
Internet der Dinge
Streuung
Formale Sprache
Programmschema
Räumliche Anordnung
Quick-Sort
Computeranimation
Algebraisch abgeschlossener Körper
Flächeninhalt
Applet
Klasse <Mathematik>
Programmbibliothek
Auswahlaxiom
Punkt
RPC
Klasse <Mathematik>
Applet
Gruppenoperation
Formale Sprache
Systemaufruf
Koordinaten
Dipolmoment
Computeranimation
Prozess <Informatik>
COM
Programmbibliothek
Normalvektor
Rechenschieber
Lineares Funktional
Bit
Programmbibliothek
Systemaufruf
p-Block
Code
Computeranimation
Schnittstelle
Inklusion <Mathematik>
Divergenz <Vektoranalysis>
Resultante
Lineares Funktional
Programmbibliothek
Zahlenbereich
Kartesische Koordinaten
Computeranimation
Bit
Punkt
Sweep-Algorithmus
Mathematisierung
Formale Sprache
Zahlenbereich
Kartesische Koordinaten
Räumliche Anordnung
Computeranimation
Überlagerung <Mathematik>
Multiplikation
Poisson-Klammer
Prozess <Informatik>
Computersicherheit
Programmbibliothek
Euler-Diagramm
Maßerweiterung
Datenstruktur
Analogieschluss
Hilfesystem
Gammafunktion
Feuchteleitung
Array <Informatik>
Videospiel
Schnelltaste
Interpretierer
Lineares Funktional
Winkel
Spieltheorie
Farbverwaltungssystem
Mathematisierung
Systemaufruf
Ähnlichkeitsgeometrie
Quellcode
Physikalisches System
Modul
Ereignishorizont
Mapping <Computergraphik>
Teilmenge
Druckverlauf
Parkettierung
Mereologie
Faktor <Algebra>
Projektive Ebene
Wärmeausdehnung
HMS <Fertigung>
Lie-Gruppe
Suite <Programmpaket>
Umsetzung <Informatik>
Schreib-Lese-Kopf
Selbst organisierendes System
Formale Sprache
Klasse <Mathematik>
Kartesische Koordinaten
Quellcode
Räumliche Anordnung
Mapping <Computergraphik>
Offene Menge
Programmbibliothek
Faktor <Algebra>
Feuchteleitung
Leistung <Physik>
Resultante
Umsetzung <Informatik>
Datennetz
Datentyp
Formale Sprache
Bildanalyse
Code
Umsetzung <Informatik>
Web Site
Subtraktion
Prozess <Physik>
Formale Sprache
Gruppenkeim
Implementierung
Kartesische Koordinaten
Term
Benutzerbeteiligung
Datenmanagement
Rotationsfläche
Datentyp
Wrapper <Programmierung>
Permanente
Pi <Zahl>
Programmbibliothek
Skript <Programm>
Vorlesung/Konferenz
Hilfesystem
Array <Informatik>
Open Source
Güte der Anpassung
Fokalpunkt
Entscheidungstheorie
MIDI <Musikelektronik>
Angewandte Physik
Dienst <Informatik>
Rechter Winkel
Debugging
Projektive Ebene
Information

Metadaten

Formale Metadaten

Titel State of the (Geo) Gem
Serientitel FOSS4G 2014 Portland
Autor Wadsworth, Scooter
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/31755
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 According to its creator, Yukihiro "Matz" Matsumoto, "Ruby is designed to make programmers happy." While it may not achieve this goal for everyone, it works for at least one programmer (me). When developing spatial applications however, the seeming lack of support for Ruby can serve to diminish programmer happiness. The aim of this presentation is to show that Ruby, with the right gems, and an occasional bit of JRuby sprinkled on top, can make spatial programmers truly happy.
Schlagwörter Happiness
Ruby
OGR
Rails

Ähnliche Filme

Loading...
Feedback