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