阅读:1964回复:5
生成shp文件时,往shp中增加记录时速度很慢
<P> while not UDM.cdsMaster.Eof do<BR> begin<BR> FrmSchedule.ProgressBar.Position := i;<BR> Lon := UDM.cdsMaster.FieldByName('LONGTITUDE').AsFloat;<BR> Lat := UDM.cdsMaster.FieldByName('LATITUDE').AsFloat;<BR> PoliceMan := UDM.cdsMaster.FieldByName('NAME').AsString;<BR> HandSet := UDM.cdsMaster.FieldByName('LOGIN_NAME').AsString;<BR> DeptName := UDM.cdsMaster.FieldByName('GROUPID').AsString;</P>
<P> X:=0;<BR> Y:=0;<BR> C:=114.0;<BR> L:=Lon;<BR> B:=Lat;<BR> SgMidServ := TsgMidServ.Create(NIL);<BR> SgMidServ.sgGPSCvtBL2XY(B,L,C,1,Y,X);<BR> Pt.X := X;<BR> Pt.Y := Y;</P> <P> Recs:=IMoMapLayer(MainForm.MostMap.layers.item('警员位置')).Records;<BR> Recs.AddNew;<BR> Recs.fields.item('shape').value:=pt;<BR> Recs.fields.item('NAME').value:=PoliceMan;<BR> Recs.fields.item('LOGIN_NAME').value:=HandSet;<BR> Recs.fields.item('GROUPID').value:=DeptName;<BR> Recs.fields.item('X').value:=X;<BR> Recs.fields.item('Y').value:=Y;<BR> Recs.update;<BR> Recs.stopediting;</P> <P> UDM.cdsMaster.Next;<BR> i := i+1;<BR> end;<BR> UDM.cdsMaster.Close;</P> <P>主要是这段代码很慢:</P> <P> Recs.AddNew;<BR> Recs.fields.item('shape').value:=pt;<BR> Recs.fields.item('NAME').value:=PoliceMan;<BR> Recs.fields.item('LOGIN_NAME').value:=HandSet;<BR> Recs.fields.item('GROUPID').value:=DeptName;<BR> Recs.fields.item('X').value:=X;<BR> Recs.fields.item('Y').value:=Y;<BR> Recs.update;<BR> Recs.stopediting;</P> <P>哪个兄弟有没有好的建议?</P> |
|
1楼#
发布于:2007-07-30 17:07
<P>现在的问题不是读数据慢,而是生成shp文件时很慢</P>
|
|