I looked at the JGrass Processing Region code; and I am very happy that it has 
map graphics feedback and tools to help with drawing it ... so when we can drop 
in an extension point for this workbench service I would love to use the 
processing region as a way to test/review that the extension point is complete.

I just reviewed my customer's dataset and they have a layer called "Region" so 
although I like the idea it may end up too confusing to say "Set your region to 
the be selected region in your region layer". I hate naming things ... but 
"region" is a good name which is better than "area".

 I am away next week but you can have an IRC meeting with Paul (possibly to 
review a pull request?). I was going to leave off making an extension point 
until after I get back. 


--- here are some notes from design session with paul updated to say "region" 
---

1) RegionService is a good addition to udig.ui and PlatformGIS with a default 
of current screen and null
2) It removes a hack used by SearchView
3) We can demo that it works with SearchView and the zoom to extent tool
4) We will need a view in project.ui to allow user to configure; and hook that 
up to an extension point next RFC

-- design notes ---

I had a bit of a design session with Paul and came up with something like the 
following:

interface IRegionService {
 setRegionStrategy( IRegionStrategy strategy );
 ReferencedEnvelope getLatLonBounds(); // used by catalog search
 Geometry getRegion(); // may be a multi geometry
 CoordianteReferenceSystem getCoordinateReferenceSystem(); // of the above 
geometry
}
interface IRegionStrategy {
 ReferencedEnvelope getLatLonBounds(); // used by catalog search
 Geometry getRegion(); // may be a multi geometry
 CoordianteReferenceSystem getCoordinateReferenceSystem(); // of the above 
geometry

}

Where IRegionStrategy can be provided by other plugins; we were focused on:

net.refractions.udig.ui providing
* NullRegionStrategy which would return everything

net.refractions.udig.project.ui providing a couple of strategies based on the 
current MapPart
* MapExtentStrategy
* MapCRSExtentStrategy

--- ideas ---

Second RFC to cover:
1) the creation of an extension point allowing:

a) the "region" to be defined from a spatial bookmark
b) the "region" to be defined from the selection on a layer (so you can 
selected an "state" in Itally and focus just on results in that state)
c) the "region" to be set to the Map screen area, the Map CRS area, or the Map 
"all" (the current default)
d) *new* the "region" to be set from "The Processing Region" (is that global or 
stored on the Map blackboard)?

2) hook this idea up to more views over time
a) filter the table view
b) hook it up to other layers using either the Layer QUERY_FILTER entry on the 
style blackboard or a second map interceptor
c) map graphic to show it; the existing processing region map graphic may be 
sufficient?
d) some tools to create; the existing processing region may be sufficient (can 
we make a region based on the buffer of a line?)

_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel

Reply via email to