Page 1 of 1

GPS Chart Bottom Image

Posted: Wed Sep 14, 2005 8:39 pm
by 9080333
My task is to display a 3D chart of GPS telemetry data with the bottom wall of the chart displaying a satellite image of the latitude/longitude range that corresponds to the range of the data.

Loading the bottom wall brush with an image works beautifully with a few critical exceptions. I recognize that TeeChart does not support the bitmap operations that I need to correct these exceptions, but I do need some information about TeeChart's handling of bitmap brushes to correct my problems.

1) How does TeeChart anchor the brush image? Different size images of the same location display in the chart as different portions of the image. My requirement is to load and manipulate an image so that the picture correctly aligns with the chart axes.
2) How does TeeChart map points in the brush to points in the bottom wall?
3) Why do images below a certain size appear as tiled, even though the images are larger in pixel dimensions than the bottom wall?

I urgently ask your help with this issue, since correctly mapping the satellite image onto the chart bottom wall is an essential part of a successful product.

Regards,

Posted: Fri Sep 16, 2005 9:34 pm
by 9080333
bump

Posted: Mon Sep 19, 2005 8:59 am
by Pep
Hi Bill,

sorry for delay !
Why you don't use the Image Tool ? You can see one example of use in the Demo features project under :
All Features -> Welcome ! -> Tools -> Image

Posted: Mon Sep 19, 2005 8:03 pm
by 9080333
Thanks Pep,

I definitely will explore the Image tool. The demo seems quite similar to what we are trying to do. Unfortunately, I cannot convert the demo project to Visual Basic .Net, because I apparently lack a Design Time License for the common controls. Studying the VB will probably answer my questions, but it may take a little time to understand, since I can't run the project.

You could perhaps save me some time by offering the method to place the image on the bottom wall of a 3D chart. Using "Edit" to change the demo chart to 3D seems to leave the image on the back wall, even though the contour appears to lie in the horizontal plane.

On a related issue, and as an important competitive feature for us, we very much want to draw our 3D series (say latitude, longitude, altitude) using color to indicate a fourth series (say airspeed). I can draw the 3D line and color the points as desired, but the connecting line seems to be limited to a single color. It would be tremendously more legible if I could set the line color to match either of the connected points. I have studied the tricks for doing this with 2D lines, but I need your help to implement this with a 3D line series. I am open to using a different series type, but none of them seems to quite accomplish this goal.

Thanks for your help.

Posted: Wed Sep 21, 2005 11:29 am
by Pep
Hi Bill,
I definitely will explore the Image tool. The demo seems quite similar to what we are trying to do. Unfortunately, I cannot convert the demo project to Visual Basic .Net, because I apparently lack a Design Time License for the common controls. Studying the VB will probably answer my questions, but it may take a little time to understand, since I can't run the project.
Ok. I've tranlated the same sample to vb.net. You can download it from the news://www.steema.net/steema.public.attachments newsgroup (with same subject).
You could perhaps save me some time by offering the method to place the image on the bottom wall of a 3D chart. Using "Edit" to change the demo chart to 3D seems to leave the image on the back wall, even though the contour appears to lie in the horizontal plane.
You can see how to do this in the same example I've posted in the attachments newsgroup.
On a related issue, and as an important competitive feature for us, we very much want to draw our 3D series (say latitude, longitude, altitude) using color to indicate a fourth series (say airspeed). I can draw the 3D line and color the points as desired, but the connecting line seems to be limited to a single color. It would be tremendously more legible if I could set the line color to match either of the connected points. I have studied the tricks for doing this with 2D lines, but I need your help to implement this with a 3D line series. I am open to using a different series type, but none of them seems to quite accomplish this goal.
I think this feature is already on our wish list to be considered for further releases. Anyway, this can be accomplished using the following code :

Code: Select all

Private Sub TChart1_OnAfterDraw()
With TChart1.Series(0)
For i = 0 To .Count - 1
TChart1.Canvas.Pen.Color = .PointColor(i)
TChart1.Canvas.MoveTo3D .CalcXPos(i), .CalcYPos(i), TChart1.Axis.Depth.CalcYPosValue(.asPoint3D.ZValue(i))
TChart1.Canvas.LineTo3D .CalcXPos(i + 1), .CalcYPos(i + 1), TChart1.Axis.Depth.CalcYPosValue(.asPoint3D.ZValue(i + 1))
Next i
End With
End Sub

Posted: Wed Oct 12, 2005 8:59 pm
by 9080333
Pep,

Having struggled with the ImageTool, I am able to successfully load an image, but it appears on the Back wall, not the Bottom Wall of the chart. If you wish, I can send you a screen-shot that illustrates what we are trying to do.

The tool comes very close to doing what we need, because it loads the entire image and sizes it to the chart, unlike my earlier Brush solution. All I need to do now, is to get the image on the Bottom wall.

I apologize if this question is answered in the VB solutions you provided, but I am still unable to successfully open the projects in MSVS 7.0.9466, so I have not been able to examine the VB source. Our project is all C++.

I have gotten as far as successfully associating the Image Tool with a single 3D series, but my results are still as above.

Thank you for your earlier prompt responses, and please accept my apology for continuing to fail.

Regards,

Posted: Fri Oct 14, 2005 7:11 pm
by Pep
Hi,

yes, could you please post an image (replying the same post in the newsgroup) of what you're trying to do ?