GIS软件开发复习资料.docx
GIS软件开发复习资料
whilenotcurrentrecord.EOFdo
begin
str.Add(currentrecord.fields.Item(region).ValueAsString);
currentrecord.MoveNext;
end;
myvaluerenderer.ValueCount:=str.Count;
fori:=0tostr.Count-1do
begin
myvaluerenderer.Value[i]:=str.Item(i);
end;
mainmap.refresh;
end.
获取图层名
functiongetlayername(map:tmap):Tstrings;
var
i:integer;
layernames:Tstrings;
begin
layernames:=Tstringlist.Create;
fori:=0tomap.Layers.Count-1do
begin
layernames.Add(imomaplayer(map.Layers.Item(i)).Name);
end;
result:=layernames;
end;
获取字段名
functiongetfilename(map:tmap;layername:string):Tstrings;
var
currentrecordset:imorecordset;
currenttabledesc:imotabledesc;
i:integer;
filenames:tstrings;
begin
filenames:=tstringlist.create;
currentrecordset:=imomaplayer(map.Layers.Item(layername)).Records;
currenttabledesc:=currentrecordset.TableDesc;
fori:=0tocurrenttabledesc.FieldCount-1do
begin
filenames.Add(currenttabledesc.FieldName[i]);
end;
result:=filenames;
end;
获取值
functiongetfilevalue(map:tmap;layername:string;filedname:string):Tstrings;
var
currentrecord:imorecordset;
currentvalues:string;
values:Tstrings;
begin
values:=Tstringlist.Create;
currentrecord:=imomaplayer(map.Layers.Item(layername)).Records;
whilenotcurrentrecord.EOFdo
begin
currentvalues:=currentrecord.fields.Item(filedname).ValueAsString;
//ifallvalue.IndexOf(currentvalues)0then
values.Add(currentvalues);
currentrecord.MoveNext;
end;
result:=values;
end;
地图查询功能
Public//定义公共变量
QueryResult:imorecordset
ProcedureTsearchExpression.FormShow(Sender:TObject);
begin
CbbLayer.Items:=getlayername(mainmap);
end;
procedureTsearchExpression.CbblayerChange(Sender:TObject);
begin
lbvalues.Items:=getfilename(mainmap.cbblayer.text);
end;
procedureTsearchExpession.cbsearchclick(seader:Tobject)
var
curren