问一个简单的问题,关于实时数据的处理!!斑竹帮看一下(100分)

  • 主题发起人 主题发起人 zdy928
  • 开始时间 开始时间
Z

zdy928

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾:
目前做一个水情测报的项目,要实现水情信息(遥测站点雨量.水位.电压)等数据在地图上的实时显示,现在关于遥测站点的图层都有,水情信息数据也存在数据库中,但是不明白怎么样让这些水情数据实时显示在地图上(至少要实现,我选择雨量数据时候,地图上显示各个站的雨量,选择水位数据时候,显示各个站的水位).
目前我是这样做的:(用动态图层的标注功能,但是总感觉这样的方法不好,要实现实时还需要一分钟刷新一次,因为adosee中数据是实时的)
map1.Layers.AnimationLayer:=nil;
lyr:=Map1.Layers.CreateLayer('Animate', EmptyParam,1,EmptyParam, EmptyParam);
map1.Layers.AnimationLayer :=lyr;
lyr.Editable :=true;
pt:=copoint.Create
mstyle:=costyle.Create;
lyr.Style :=Map1.Layers.Item['water'].Style
lyr.LabelProperties.Style := map1.Layers.item['water'].LabelProperties.Style;
adosee.open;
adosee.first;
while not adosee.Eofdo

begin

if adosee.fieldbyname('R').Asfloat>0 then

begin

tmpCD:=adosee.fieldbyname('CD').AsString;
X := adosee.fieldbyname('XX').AsFloat;
y := adosee.fieldbyname('YY').AsFloat
str := adosee.fieldbyname('RN').AsString;
pt.Set_(x,y);
fts := map1.FeatureFactory.CreateSymbol(pt,mstyle);
fts.KeyValue :=tmpCD+ #13 + str;
lyr.AddFeature(fts,emptyparam);
end;

adosee.Next;
end;

adosee.close;

lyr.AutoLabel := true;
lyr.Visible := true;
lyr.ZoomMin := 0;
lyr.ZoomMax := 77;
呵呵,大家给提些建议,启发一下.ths ths
 
其中表adosee中的 xx,yy是经纬度坐标,目前地图中有七个图曾:
其中水系/河流等等,还有雨量站点图层/水位站点图层,,adosee中包含的站点就是全部雨量站/水位站,包括最新的雨量/水位信息
 
用多线程采集数据。采集到发送消息通知电子地图更新
 
你不明白我的意思!
数据采集这部分没问题,我的实时数据都在数据库中啦
重要的数据怎么样在地图上显示
 
后退
顶部