Weekly GeoTools meeting:
2: DataSource for EPSG Authority
chorner: 1) SoC
chorner: The summer of code selection process is underway
chorner: geotools needs to choose which projects it prefers
chorner: it looks like we have:
chorner: "New Transformations Algorithms for GeoTools and uDig"
jgarnett: chorner if we could figure out geoserver & udig now as well it would be helpful.
chorner: "Plugins for multidimensional raster data sources"
chorner: note: we'll only list the proposals that have mentors
chorner: geoserver: "JTileCache", "Geoserver Style Editor"
chorner: udig: "caching data in uDig", "uDig SOS client", "impl of interactive georss in uDig"
chorner: and there are 2 - 3D applications
chorner: "3-Dimensional Rendering Pipeline Component for GIS Servers" and "3D Rendering Pipline for GeoTools"
chorner: which are both ambitious
chorner: what interests us?
jgarnett: Do you have a link ?
aaime: all of them? (besides the fact we need to choose just one 3d)?
chorner: we need to prioritize, because we'll likely just get 1 or 2
jgarnett: Andrea lets try and cut down the list, based on what we need and what will succeed.
aaime: Sorry, I don't follow you?
aaime: it seems OSGEO will be granted with 12 projects?
aaime: or I'm mis-interpreting that line in the project list?
cholmes: Do we want to try to decide what our priorities for the whole java world are? Or just have gt, udig and gs rank their individually?
chorner: the line is arbitrarily placed by frank
aaime: Ah, did not know that
chorner: google has not decided how many slots we will get, yet
jgarnett: I would rather choose something like "data caching in udig" (since it will benifit all three projects) then one of the 3D viewers (which may not succeed)
aaime: So, what do we do, we pick just one for each project then?
jgarnett: I think if we rank two for each project we would be okay (and hopeful).
aaime: data caching in udig is ambitiuous too given the curricula of the student
chorner: each project will rank the proposals that it owns
jgarnett: chorner in somecases the "owns" is a bit suspect - the data caching I think would be mostly geotools related?
chorner: yes, but we are gaming the system a little
chorner: so we'll spread them out
aaime: But... don't we have more or less already 2 proposals per project?
chorner: for uDig we are considering 1. Caching data in uDig and 2. uDig SOS client 3. Interactive GeoRSS
aaime: Geoserver: tile cache and sld editor,
chorner: i think geotools is the only one in question
chorner: a) New Transformation Algorithms
chorner: b) nD raster data sources
chorner: c) 3D
chorner: what are our priorities?
jgarnett: chorner which 3D is that? One of the JOGL ones?
chorner: there are 2
chorner: not sure which one we want
aaime: I'm a little lost...
aaime: votes are already there
chorner: the votes there aren't useful
aaime: what do you mean?
chorner: since some people vote +1, others +4
chorner: and some others who shouldn't even be voting
cholmes: transformation algorithms and uDig SOS are mutually exclusive, no?
aaime: FrankW, what's the official way to select candidates?
jgarnett: Aaime he was leaving it up to the PSC
aaime: (I mean, proposals)
FrankW: Each project PSC is supposed to rank their applications, and assigned mentors.
jgarnett: (ie the geotools PMC; which is what I hope we are doing right now)
FrankW: Then I will adjust the rankings of the list on the google site.
jgarnett: For things like uDig I would like to talk to this development community about the possibilities ..
jgarnett: .. as an example Andrea: you say the "caching data in uDig" is too risky? Would it be beter if we asked the student to cut scope; or should we just leave the idea on the table.
chorner: aaime: they are mutually exclusive, so we may shuffle around the uDig 2 and 3, depending on how many slots we get
chorner: if the number is small, we'll happily take #2 if #1 is not available
chorner: so... would people care to indicate their preference?
aaime: From where I stand, uDig increses the learning curve too much unless the student is already a java pro
chorner: c) 3D - Hans
chorner: d) 3D - Michael
chorner: my preference would be ABCD
cholmes: I'd do BACD. But no strong preference.
aaime: well, or bacd, a and c more or less on the same level
aaime: (one is more interesting, the other has a student I trust)
chorner: perhaps i'll put this to email
jgarnett: I was not that interested in new transformation algorithms, admittedly it is a good safe proposal. I liked the SOS stuff as the student is motivated, trusted, and takes us into new territory (it is just too bad that SOS stuff is so useless without a pet sensor)
aaime: what do we do, we give 4 points to the preferred, 3, 2 and so on, for each one of us, and then sum?
jgarnett: The other wrinkle is we may not have a mentor for the 3D stuff
aaime: You proposed yourself thought
jgarnett: Jesse says he does not have time, and I stepped up in order to hold the spot (since it looked like we were being cut off last week)
aaime: heh... chicken and egg
chorner: let's get the votes in, then consider a couple different counting algorithms – but i'm guessing it will be more or less clear
aaime: we will have to delve into 3d sooner of later
jgarnett: The decision between the two is tough, my concern is that they both just want to make a 3D viewer a la google earth.
aaime: that's where GIS visualization is going anyways
cholmes: The new transformation is actually really nice, since it lets users put unreferenced rasters in to real world coordinate systems.
jgarnett: The MIT guy leaned towards making his own server; and I am not interested ...
jgarnett: the other fellow has some GIS background; are their any downsides to his proposal?
jgarnett: (other then risk?)
jgarnett: I would ask him to drop back to only making a 3D widget as part of geotools ...
jgarnett: (and leave any SWT vs JOGL as required for uDig out of it)
aaime: Yup, that would be a good idea
aaime: thought I don't see how you can avoid JOGL... what would you use instead, java3d?
jgarnett: I like JOGL
jgarnett: I do not like the idea of a student figuring out how JOGL and SWT can play nice
jgarnett: (even though there are examples ... KISS)
aaime: yeah, too much work
chorner: ... moving on
chorner: 2) DataSource for EPSG Authority
jgarnett: bleah ... hold on a moment while I save the page.
jgarnett: So taking the preceeding discussion to email is not going to work
jgarnett: we are out of time. The preople here should make the decision if we can.
chorner: um, why not?
chorner: we have a day, no?
jgarnett: Because we already asked
jgarnett: a lot
jgarnett: last week
jgarnett: email and in the IRC meetings
chorner: i disagree
jgarnett: Okay; let's try
jgarnett: perhaps bringing it to the geotools list will help
jgarnett: so next agenda item
jgarnett: Here is a proposal: http://docs.codehaus.org/display/GEOTOOLS/DataSource+Hint+for+EPSG
aaime: Did you update it again now?
jgarnett: The discussion mostly happened a month ago; I am just doing the first step - introducing a new hint
jgarnett: (well I added the "new api" to the page ... but nothing important.
aaime: Ah, but I thought we were talking about datasources at a large
jgarnett: For all of this stuff I will be working closely with the module maintainer (Martin) ...
jgarnett: We were ... but I can only do one proposal at a time. Making it work for EPSG Authority is the first step.
aaime: Hmmm.... not sure that example.java is the way to go
jgarnett: (ie I am not touching the JDBCDataStore right now)
aaime: the rest of the referencing system uses env variables
aaime: not on the spot hints
aaime: to set up authorities, at least
jgarnett: aaime - I am not sure either (I am to good at hints). Not sure environmental variables are always an option however.
jgarnett: And the proposal wanted a code example ...
jgarnett: Is there any mapping from environmental variable to Hints?
aaime: consider that setting up the referecing subsystem is a one shot thing
aaime: it happens on startup, not sure you can change it
aaime: (afaik you can't9
jgarnett: I was under the impression you can always change it
jgarnett: the "out of the box" experience is optional.
aaime: As far as I know CRS does set up it's buffered authority
jgarnett: You can always use your own hints and get your own Authority.
aaime: just once
jgarnett: I saw the buffered authority thing in a super class (of each EPSGAuthorty) ... is there a seperate wrapper?
aaime: don't know, I never tried to use the referencing subsystem that way
jgarnett: back to earlier question
jgarnett: is their an environmental mapping from env variables to hints?
aaime: not that I know of
aaime: each authority sets itself up during the first call
jgarnett: Wondering abou how you set env variables to control CRS?
aaime: the chain is made
jgarnett: You guys have just been playing with this for GeoServer have you not ...
aaime: Yeah, we do use System.setProperty
jgarnett: Thinking ... so some code must be looking at the System properties...
aaime: global hints, set once during startup
aaime: Yeah, it does, during startup
jgarnett: I just wonder what "startup" is ...
aaime: it may be that some variables are looked up on each call, but afaik most are just read once and set into class fields
jgarnett: I think it is CRS.decode( "EPSG:4326", null );
aaime: Startup is the first call you make on the CRS subsystem
aaime: whatever it is
jgarnett: which is different from the example (where hints are provided)
jgarnett: CRS.decode( "EPSG:4326, Hints )
aaime: But CRS has just two buffered factories afaik
aaime: one for longitude first crs, the other if you don't want longitude first
aaime: Then again, I'm talking about something I don't know in detail
aaime: just telling you what I've seen when trying to fix some issues I had with CRS
aaime: and I can tell you I had to move the System.setProperty I enforce using code
jgarnett: Okay - thanks for the background (my understanding from a code review was that each Hint gets its own configuration to play with, but when they get down to the specifics the configurations can start to share ...)
aaime: in the very first place that get started up ingeoserver
aaime: or otherwise I would have ended up in trouble
jgarnett: Adding a note to that page; I will try and sort it out before the day is done.
jgarnett: Concerning the substance of the proposal - any problems?
aaime: I guess you'll need Martin to sort out these details
aaime: Well, it's different from my understaind of how authorities must be set up
aaime: If I were to make one, I would create the factory, register it in the SPI system, and have it look up system properties on creation
aaime: if you look at the code in CRS
aaime: there is no place where that hint could be used
jgarnett: Yeah CRS is a thin layer that calls the factory stuff
aaime: Sorry Jody, have you ever looked at it?
jgarnett: the factory stuff is what should be using the hints, my impression is the factory finders may use the system properties to figure out what the "preference' is given several valid alternatives.
aaime: it's DefaultAuthorityFactory that scans the SPI
jgarnett: I wrote the CRS utility class .. and I walked through the CommonFactoryFinder in a debugger several weeks ago.
aaime: not really, there's a cascading mechanisms
aaime: so you may play with priorities
jgarnett: I will revist
aaime: but you don't have a way to select which factory you want
aaime: unless you play against SPI directly, that is
jgarnett: I am mostly interested in controlling the magic string that the jdbc epsg authorities use
jgarnett: I would like to make the system deterministic, but right now the only way is to just include the needed jars.
jgarnett: (and don't let it have conflicts)
aaime: You're on with two issues there, determining the factory you want, and provide parameters to it?
jgarnett: I am trying to just narrow this down to one.
aaime: They seem to me two different issues
jgarnett: Martin had some ideas (about letting several factories try to connect, and changing the EPSGAuthority interface so they could try and fail before being selected)
aaime: that's the optional authority mechanism afaik
jgarnett: So determining which factory - different issue. Not covered right now.
jgarnett: Provide parameters to a factory; this is the issue - and I need a new Hint to do it.
aaime: In geoserver we did use System properties
aaime: in epsg-extension martin did use system properties as well
jgarnett: thanks: update the page to reflect that ("It appears that we should control the "default" (ie when Hints is null) by use of a System property.")
aaime: What I mean, is that hints are not used at all
jgarnett: I am sure that the system properties is in addition to Hints, basically I view it as a failure where a "global" hint needs to be defined.
jgarnett: Hints are supposed to be used all the time, it is just not something geotools has managed to do - ever.
aaime: you know it better than me for sure
aaime: I'm just talking from my (limited) direct experience
jgarnett: me too
jgarnett: thanks for the feedback
jgarnett: I am sure you are correct about the system property thing
jgarnett: I just am not going to be able to get away with it this time.
aaime: Ok, next topic?
chorner: 3) 2.4-M1
chorner: released on friday
chorner: it went very quickly – thanks Martin!
aaime: Cool, that's good news
chorner: and thanks Jody too
chorner: has anyone tried it out
aaime: (well, it must go quicly when you perform it within refractions...)
chorner: the server is still remote
aaime: Not as remote as from Italy, for sure
aaime: nope sorry, did not try it
chorner: if everyone is happy, i will announce it on the users list
aaime: Go for it
chorner: cool... that's it then
chorner: unless someone sneaked another item in...
jgarnett: aaime: thanks for the tip - looking at DefaultAuthorityFactory now ... looks like I can get Hints in here eventually.
chorner: that looks like a tangent... let's shut 'er down