Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-devel] RFC Area Service

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?)


Back to the top