[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [udig-devel] Projection WGS 84 as default
|
Adrian Custer wrote:
Jody, jody, jody...
Good Morning!
Do we both understand this totally? Is the message below completely
redundant? I hope so, but in case there is *any* confusion left, here
goes the pedantic rehash:
Thanks for the recap; I do understand that what you are saying is right.
But I have to keep thinking of ways to make
this easy. I am not sure if you understand that 90% of my difficulty
with the proposed solutions comes down to popping
up a dialog, if I am going to pop up a dialog I want to do my very best
to provide the user enough context to make an informed decision (perhaps
looking at other files in the directory to see if they have a prj file,
and then asking the user to confirm the "suggestion").
So I agree let's help them; and I am racking my brains to come up with
an alternative to a dialog.
On Fri, 2007-11-09 at 01:37 +0200, Jody Garnett wrote:
Right; well here is what I am thinking. When I go into a GIS shop most
times they just have directories full of shapefiles. No projections. The
files are all in the same projection and everybody knows that and they
don't bother to tell the tools (because that would be an extra step).
uDig is one of the few tools that cares; how should we work with these
shops that don't care?
(1) let's help them; the theme to my earlier message
(2) they may be shops using 'GIS' but they sure aren't GIS shops---they
aren't being serious. But this stuff requires being totally rigorous
which may be hard the first time around, so (1) let's help them.
I figure we have 30 mins of their time (usually 10 mins) and if this is
slowing us down during that initial evaluation window then we need to do
something about it. Another idea would be to prompt the first time a
"unprojected" shp is loaded,
YES. uDig should deal with the missing CRS/prj info, once at the 'add to
catalog' stage where we need to catch the missing CRS, and again at the
'add as map layer' stage where we need to warn about the missing
projection. uDig should catch those and then be friendly by giving users
a way to resolve the missing CRS or the missing projection.
This requires:
a) a split of the CRS and projection info/'open dialog' button
in the map editor. These should be separate buttons since I may
want to look at the different projections while keeping the CRS
the same. e.g. GPS data has a perfectly valid CRS but no
projection and a user may want to see it as 'unprojected',
'mercator' ...
b) a dialog to catch users adding resources with no CRS to the
catalog. This would help users select or build a CRS. If users
don't know, then we build a cartesian CRS (but be aware we may
need to change this CRS by flipping axes once users see their
data). Also note this is almost certainly WRONG, i.e. not what
they really want, but it's the only 'default' we can possibly
have. So perhaps we don't write this CRS out but merely keep it
in memory as a virtual 'default'.
c) a dialog to catch users adding a resource with no projection
information to an empty map. By default we fall back on a
cartesian projection (i.e. 'unprojected'). Actually, this could
be a simple warning with all the functionality built into the
'projection' button from (1).
{You get that right? You can have coordinates in long/lat that have a
perfectly valid CRS, but that CRS is without any projection info, e.g.
GPS data. To display them, uDig needs to pick a projection:
'unprojected' i.e. straight to screen x/y; 'mercator'; UTM ... So even
if the shapefile has a .prj file we are not out of the woods. (Actually,
maybe that's wrong; maybe shapefile .prj always have the desired
projection. Does the .prj of a GPS file actually always have a
projection?)}
I do understand, sorry if my last email came across as misunderstanding
- I am more focused on the experience as easy as possible. We will have
to check on the capabilities of a prj file.
There is *no* default. There can be *no* default. If it were possible to
have defaults we would have solved this issue in 1970. EPSG:42xx can be
the current (incorrect) 'default' because it doesn't do anything---it
has no projection, so it merely dumps the x/y coordinates to the screen,
i.e. it is 'unprojected.' The only possible 'default' is:
a) CRS is cartesian
b) projection is 'unprojected'
c) no override 'lat before long'
so we dump the x/y coordinates of the resource directly to the screen
x/y. We should be able to let users flip their x and y although I'm not
sure how/where we could do that and where to store that setting. If
users have digitized a map then this straight 'unprojected' dump is
'correct' in that it's keeping the projection of the original, whatever
it may be.
Let me rephrase; can we come up with any suggestions for them? The above
cartesian/unprojected ie "raw data" is a suggestion of last resort. Here
are some other suggestions:
- what they did last time? Chances are they want to do it again ...
let's remember the previous values and maybe the user can just hit "OK"
- what they did last time on a per server or per directory basis .. even
better. chances are that data that flocks together has the same problems
- "hardcore" look at the data range and rule out suggestions that don't
"fit"
The best way I can treat your words is: "How do we handle users that
have lots of data with no CRS/projection information and don't want us
to touch their files by adding any." Again, if they don't give us any
extra information the only thing we can do is to dump their coordinates
directly, unchanged to screen at most flipping the axes. So we 'default'
to treating their data as cartesian, with no projection, with long
before lat. (cont...)
That is a good point. Especially for shops that re just trying uDig out;
it is bad enough we
right little QNX index files on them, but that won't screw up other
programs the same way writing a prj file would.
Thanks for talking this over with me; make it more important than ever
that we get a more capable catalog that can hold onto extra udig
specific information to fill in the gaps left by shoddy data practices.
(cont) If users want to give us a 'setting', then this could,
eventually, be kept and stored per 'service'. Indeed I'm going to want
to do something like that with the NASA blue marble data since it's off
in the highlands of Ethiopia so I want to be able to add a skewCRS to
that service so all the data comming off that server gets slid over into
the right place.
That is an interesting story; I have always wanted a good real world
example for the "override" story.
But this solution is for tomorrow. It is going to require us to start
tracking 'metainfo' about the resource, i.e. metadata that only we know
about that resource. So we can't really start playing this game until
(1) we clean up the catalog and (2) we start doing having a registry for
our 'metainfo'.
Yeah got it; during FOSS4G I came up with the following plan:
- isolate the geotools catalog stuff to an unsupported/module
- update it with justin's geoserver configuration proposal (ie
persistence based on xml or hibernate)
- I already have "wrappers" that can show a geotools catalog to the uDig
catalog; this time I would directly subclass and give the geotools
catalog a factory so it creates entries that implement to uDig IResolve
interface. Thinking: now that GeoTools is Java 5 perhaps we could just
leave that step out....
With that, I'm going back to the storage API's.
Cool; thanks for the great conversation Adrian. I would like to gather
your summary onto the wiki.
Jody