Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-dev] Starting point

You might have a look at the BBoxSelectionCommand, which looks like it calls Map.select().

Also you might try the BasicFeatureRender and RenderContextImpl classes.

In the BasicFeatureRender I saw this comment:
// Original Query provided by Layer.getFilter() as adjusted by selection and edit filter
Query query = getContext().getFeatureQuery();

I think this is where the filter is retrieved from the layer.

Hopefully this is helpful. Its been a long time since I've looked at the udig rendering stuff.

Emily


On 30/05/2014 6:37 AM, Kirk, Victor wrote:
Thanks again.  I see that the layer has an operation to get a query
for selected features.

Unfortunately it is actually selecting the feature in the first place
that I’m stuck on.  I’ve poked around the stack in the debugger
during the selection process but seem to be missing how the decision
for a feature being selected is based.  The feature geometries are
points, when I’m zoomed in I’m rendering them much larger and
actually offset from their actual location and I’d actually like the
user to be able to move them to somewhere they’d prefer but be able
to select them by click on the rendered image.

Now that the image rendered on the screen does not match the feature
bounds the only way to select the feature is to click on where the
default feature renderer would have displayed them. I’ve tried
updating the feature bounds when I draw them to match the render but
they seem to revert back the next time it is drawn.

I suppose I could handle the selection myself but seems a bit of a
hack.

From: udig-dev-bounces@xxxxxxxxxxxxxxxx
[mailto:udig-dev-bounces@xxxxxxxxxxxxxxxx] On Behalf Of Jody Garnett
Sent: 30 May 2014 13:35 To: uDig project developer discussion
Subject: Re: [udig-dev] Starting point

That is great you are making progress.

I think the selection tools update a "filter" on the layer data
structure. Your renderer can use this information to test each
feature it is drawing, and thus show rendered features differently.

There are a few helper methods around to grab just the selected
features, or just the unselected features. Cannot remember the
details off the top of my head.

Stop the code in the debugger and have a look at how the layer data
structure changes when you have selected content or not. You can also
change the selection by hand using the table view in order to
experiment.


Jody Garnett

On Fri, May 30, 2014 at 8:48 PM, Kirk, Victor
<VICTOR.KIRK@xxxxxxxxx<mailto:VICTOR.KIRK@xxxxxxxxx>> wrote: Thanks
for getting back to me.  I found the Renderer extension point and
implemented a renderer for my layer, I quite happy now I can render
on the map.  I did see the glasspane and sounds exactly what I would
have liked to do but I’d have had to implement a lot of
functionality, some of it duplicating what the map currently
provides.

However I still have one remaining piece of the puzzle to complete my
prototype. Now I have my renderer I’ve lost the ability to select the
features (data is coming from a WFS source),  I can’t see any way to
establish a relationship between what I’ve drawn and the selection,
presumably there is some mechanism to join the two up.  I’ve looked
at the code for the other renderers and don’t see anything obvious.
I don’t suppose anyone could point me to what to look at?

Regards, Vic


From:
udig-dev-bounces@xxxxxxxxxxxxxxxx<mailto:udig-dev-bounces@xxxxxxxxxxxxxxxx>
[mailto:udig-dev-bounces@xxxxxxxxxxxxxxxx<mailto:udig-dev-bounces@xxxxxxxxxxxxxxxx>]
On Behalf Of Jody Garnett Sent: 29 May 2014 22:52 To: uDig project
developer discussion Subject: Re: [udig-dev] Starting point

We are a bit stuck in that the useful uDig tutorials are part iof the
(commercial) training course. The source code is there, and I made
some notes about each workbook.

So you have gone through the first day of content :)

Sounds like you could use the glass pane (which was created to do
dynamic overlays for control room software) or a custom renderer (
created to directly draw business objects ).

Chech out the custom tool tutorial, it uses a tool to create objects
( on the layer blackboard) and a renderer to draw them.

On Thursday, May 29, 2014, Kirk, Victor
<VICTOR.KIRK@xxxxxxxxx<mailto:VICTOR.KIRK@xxxxxxxxx>> wrote: Hi,  I’m
looking at udig as a possible replacement for a bespoke mapping
framework but a bit confused on how to get started.

I’ve gone through the tutorials on getting started and created the
custom app, feature and workbench.  Now I’m struggling to get to
grips on how to start my prototype.

My first sticking point is how to render objects on the map.  I have
static data for a network and equipment positions available from a
geoserver and those are displayed no problem.  However I’d like to
handle the rendering of the equipment programmatically when an
operator zooms in to a particular level or if they double click/via a
right click context command when the feature when zoomed out.  The
reason I what to do this is to show dynamic data obtained from a
different source and the rendering is far too complex for styling.

Are there any examples that I’ve missed for doing this?

Kind Regards,

Vic




[Cubic Transportation Systems]<http://cts.cubic.com/>

Victor Kirk Lead Developer Cubic Transportation Systems (ITMS) Ltd.
Phone: +44 1642 636 894<tel:%2B44%201642%20636%20894> Email:
victor.kirk@xxxxxxxxx<mailto:victor.kirk@xxxxxxxxx>
cts.cubic.com<http://cts.cubic.com/>

[NextCity]<http://www.youtube.com/watch?v=qhd6XYP2DBE&feature=related>

 [RSS]<http://cts.cubic.com/Publications/CubicBlog.aspx>

[Facebook]<https://www.facebook.com/CubicTransportationSystems>

[Twitter]<https://twitter.com/CubicTS>

[LinkedIn]<http://www.linkedin.com/company/cubic>

[YouTube]<http://www.youtube.com/user/CubicTS>




________________________________

This document is intended for, and should only be read by, those
persons to whom it is addressed. Its contents are confidential and if
you have received this message in error, please delete it. Any form
of reproduction, dissemination, copying, disclosure, modification,
distribution and / or publication of this message without our prior
written consent is strictly prohibited.

Any views expressed in this message are those of the individual
sender, and do not necessarily represent the position of Cubic
Transportation Systems (ITMS) Limited (‘CTS’). Furthermore CTS does
not authorise or use e-mail for official contractual correspondence.
Nothing received in e-mail has any contractual validity.

CTSL and each legal entity in Cubic Corporation reserve the right to
monitor all e-mail communications through its networks.

Registered Office: Cubic Transportation Systems Ltd AFC House
Honeycrock Lane Salfords Surrey RH1 5LA United Kingdom

Registered in England under number 8498086

________________________________


-- Jody Garnett


_______________________________________________ udig-dev mailing
list udig-dev@xxxxxxxxxxxxxxxx<mailto:udig-dev@xxxxxxxxxxxxxxxx>
https://locationtech.org/mailman/listinfo/udig-dev



_______________________________________________ udig-dev mailing
list udig-dev@xxxxxxxxxxxxxxxx
https://locationtech.org/mailman/listinfo/udig-dev



Back to the top