Thursday, February 26, 2009

IRC Logs Feb 27th

uDig IRC meeting:

(7:09:51 AM)
jgarnett: morning!
(7:10:00 AM) jgarnett: I am getting better at this (and getting better)
(7:10:10 AM) emily_g: good afternoon :P
(7:10:19 AM) jgarnett: this should be my last week of coming into the office early to attend these things
(7:11:06 AM) jgarnett: (finally ordered internet for my house)
(7:11:19 AM) jgarnett: I am going to send a quick email to the list and see if we can scare up more people
(7:11:21 AM) emily_g: how exciting
(7:11:35 AM) jgarnett: but there is some interesting things going on SoC, FOSS4G workshop deadline etc
(7:12:32 AM) jgarnett: how is your hacking going emily?
(7:13:12 AM) emily_g: good for now I think I'm mostly done what I need to do
(7:13:30 AM) emily_g: I'm still now sure how to deal with udig community module relying on the unsupported geotools module
(7:13:57 AM) emily_g: I've been committing a jar file which I know is a very bad thing :)
(7:14:03 AM) jgarnett: gak!
(7:14:07 AM) jgarnett: well there are two ways
(7:14:50 AM) jgarnett: 1. make the geotools module supported; we really should not be selling our customers less (the supported mechansim exists mostly as a measure of quality). The process work gdavis did is in a similar bind I am afraid
(7:15:12 AM) jgarnett: 2. do not make it supported; and make udig libs suck up the dependency
(7:15:29 AM) jgarnett: Question - is this just a code dependency? Or is does it need to hook into the geotools factory finder thing?
(7:16:14 AM) jgarnett: Finally you could have a refresh.xml script fetch the jar (copy the one out of libs); or we can modify the refresh.xml script in libs to copy the jar into your module (so there is still a single refresh.xml script to run)
(7:16:21 AM) jgarnett: but these are all good questions
(7:16:34 AM) emily_g: I'm not sure I understand what that means - the geotools factory finder thing ?
(7:18:41 AM) jgarnett: geotools has a plugin system
(7:18:53 AM) jgarnett: (ie not the plugin system eclipse uses; but one called FactorySPI that comes with java)
(7:19:18 AM) jgarnett: it depends on looking up a magic file in the jar MANIFEST
(7:19:35 AM) emily_g: Well my udig module doesn't make direct use of factory finders, but I think the geotools caching module may
(7:19:42 AM) jgarnett: actuall a magical folder called services/ that has text files listing all the "factory service provider interfaces"
(7:20:01 AM) jgarnett: the question is does your geotools caching modules have ones of these services/ folder
(7:20:16 AM) emily_g: no I don't think so
(7:20:18 AM) jgarnett: (you can see an example in geotools main; where the services directory is used to list all the function implementations for example)
(7:20:40 AM) jgarnett: okay; if it did have a services/ folder it would *have* to go into net.refractions.udig.libs or it would not work
(7:21:16 AM) jgarnett: what is your module that uses the caching?
(7:21:31 AM) jgarnett: is it your own community module; or did you need to work on the udig wfs module?
(7:22:00 AM) emily_g: it's my own community module
(7:22:06 AM) jgarnett: (aside here is the geotools documentation on factory spi - http://docs.codehaus.org/display/GEOTDOC/05+How+to+write+a+Plugin+-+from+Interface+to+Factory)
(7:22:22 AM) jgarnett: okay; since it is your own work everything is up to you
(7:22:42 AM) jgarnett: if you were intergrating this into core udig I would get all frumpy and do a code review
(7:22:43 AM) emily_g: community/emily/net.refractions.udig.catalog.wfs.cache
(7:22:53 AM) jgarnett: as a community module we can treat it as a proof of concept.
(7:22:57 AM) emily_g: well quiet frankly that's the boring code;
(7:23:04 AM) emily_g: the caching code in geotools is much more exciting
(7:23:35 AM) jgarnett: when/if you did want this in udig we would seriously look at cleaning up the geotools module and making it supported (either adding the functionality into core geotools or signing up as a module maintainer for the thing)
(7:24:08 AM) jgarnett: if I was your customer I would be asking for this of course :-) Perhaps you can suggest it as a phase 2 (now that you know the approach is worth following)
(7:24:29 AM) emily_g: hmm okay good advice
(7:24:30 AM) jgarnett: aside: Andrea was thinking of another code sprint; either based on a bug fix run or on a new functionality run
(7:24:41 AM) jgarnett: adding caching would be cool idea
(7:24:43 AM) emily_g: I'll put it on my list
(7:25:11 AM) jgarnett: (and would provide symetry with the TileCache work; uDig 1.2 would then feature caching for both wfs and wms resources)
(7:25:17 AM) emily_g: it would be nice to try to clean up some of the bugs in "core" functionality of udig
(7:25:36 AM) jgarnett: agreed; the code sprint format seemed productive.
(7:25:46 AM) jgarnett: I may as well ask if there is any good time slot for you this month?
(7:25:53 AM) jgarnett: perhaps we can set an initial time...
(7:26:04 AM) emily_g: no good time; jan-mar is usually bad time here
(7:26:13 AM) emily_g: april/may might be better but further off
(7:26:47 AM) emily_g: I would be willing to pick a bug or two and try to fix them in my spare time; but the problem I had with that
(7:26:55 AM) emily_g: is that I went and look a jira and got confused and scared
(7:27:59 AM) emily_g: I couldn't really easily figure out what bugs were current; what were fixed or what I could do that was useful
(7:28:08 AM) emily_g: I suspect that stems partly from my inexperience
(7:28:36 AM) jgarnett: it is partly from Jira bugs being automatically assigned to people who are not around anymore like Richard :-P
(7:29:03 AM) sidlon: basic question: if i have an image, like a satellite photo of an area... do you know if there's any way in uDig to display that along with shapefile data? would that be a raster layer?
(7:29:04 AM) jgarnett: I understand that year end is a bad time for you
(7:29:18 AM) jgarnett: yes that would be a raster layer.
(7:29:35 AM) jgarnett: many stellite photos have the information inside them about where they should be displayed.
(7:29:43 AM) jgarnett: if it is a simple png or jpg they will not
(7:29:51 AM) jgarnett: and you need a seperate text file to say where it should be on the world
(7:30:00 AM) sidlon: so if i have a jpeg, are there tools i can use to add the geo info to them?
(7:30:03 AM) jgarnett: (this is called the "world + image" format and is documented in the udig help menu)
(7:30:31 AM) jgarnett: you can actually just do it yourself with a text editor like notepad
(7:30:49 AM) jgarnett: a couple people have made tools for you to position the image on the screen; but I am not aware of any of them going public
(7:31:00 AM) jgarnett: let me find you a link to one that was written around udig (but not folded in)
(7:31:32 AM) jgarnett: http://udig.refractions.net/files/downloads/flightline/
(7:31:57 AM) jgarnett: here is documentation on the world plus image format
(7:31:58 AM) jgarnett: http://udig.refractions.net/confluence/display/EN/World+Plus+Image
(7:32:08 AM) jgarnett: hopefully that is enough to get you going?
(7:32:31 AM) jgarnett: as I said most satillite images will be in TIFF format; and when they fold the location information into the file it is called "GeoTiff"
(7:32:38 AM) jgarnett: where are you getting your photo from?
(7:32:49 AM) jgarnett: (it may already just work)
(7:32:50 AM) sidlon: i think this will definitely help. thanks!
(7:33:43 AM) sidlon: i'm looking to create an application that can accept satellite imagery & shapefiles (for roads etc) and display them together
(7:34:11 AM) jgarnett: well you found one
(7:34:30 AM) jgarnett: and if you go through the tutorials you will see how to create your own custom application (using udig as a base)
(7:34:44 AM) sidlon: then maybe write a plugin to generate an xml describing the combined scene
(7:35:05 AM) jgarnett: I hope you find the documentation in order; we have made some of the high quality intro documentation public on the website - but much of the advanced stuff is part of our commercial training course
(7:35:07 AM) jgarnett: ah!
(7:35:13 AM) jgarnett: there is already a plugin to do that
(7:35:19 AM) jgarnett: but I have not had a chance to make it work recently
(7:35:24 AM) jgarnett: perhaps you would like to work on it
(7:35:30 AM) jgarnett: a scene is called a "context"
(7:35:42 AM) jgarnett: so the plugin writes an "OWS Context" file
(7:36:09 AM) jgarnett: "ows" = open web service - but the actually do more than that now allowing people to document shapefiles; and google maps and stuff for the web programs.
(7:36:43 AM) jgarnett: At the very least the plugin can show you how to write you a description of a scene; and how to create a map when reading the description back in
(7:37:02 AM) jgarnett: http://www.ogcnetwork.net/context is the formal docs
(7:37:15 AM) sidlon: so far i'm definitely impressed w/ everything uDig can do... i really appreciate this help
(7:38:00 AM) sidlon: one last question... is there currently, or would it be possible for me to right, code to merge layers?
(7:38:08 AM) sidlon: (write)
(7:40:39 AM) sidlon: basically i'd like to make it possible for the user to load a number of shapefiles covering different areas and save them to a single shapefile
(7:40:54 AM) jgarnett: I would like to say yes
(7:40:58 AM) jgarnett: since you can do almost anything in code
(7:41:05 AM) jgarnett: but the shapefile format is limited to a single kind of feature at a time
(7:41:13 AM) jgarnett: (ie all points, or all lines, or all polygons)
(7:41:30 AM) jgarnett: also it only stores one kind of feature; so all the featues would need a single set of attributes
(7:41:38 AM) sidlon: gotcha... so if i had 2 polygon shapefiles, they could be merged maybe?
(7:41:43 AM) jgarnett: right now you can do that
(7:41:57 AM) jgarnett: load up one shapefile; select all, copy, and paste into your new layer
(7:42:01 AM) jgarnett: and repeate for the other layer
(7:42:10 AM) jgarnett: but understand that the attributes will not be merged or anything
(7:42:27 AM) jgarnett: look at the reshape operations for an example of how to manipulate attributes (rename; recalculate, etc...)
(7:42:27 AM) sidlon: ok. i think i understand. thanks again!
(7:42:42 AM) jgarnett: you would need to make both layers have the same attributes in order to merge them
(7:49:55 AM) jgarnett: okay I think we are winded down - thanks for the chat guys
(7:50:11 AM) emily_g: thanks jody
(7:50:13 AM) emily_g: have a great day

No comments: