TMappl.ReadMapObject

Модуль: Mappl
Класс: TMappl

Считать объект слоя карты

Объявление

function ReadMapObject(MOS: TMapObjectStructure; lCode: integer; oID: int64;
	 IdType: TObjectIdType = idtOKEY; aFieldList: TStrings=nil;
	 flLoadEqualPoints: boolean=false): integer;

Параметры

MOS
экземпляр класса структуры объекта
lCode
код слоя
oID
уникальный индекс или идентификатор объекта слоя (использование индекса или идентификатора
IdType
тип используемого идентификатора объекта слоя (уникальный индекс или идентификатор объекта, по умолчанию idtOKEY)
aFieldList
список семантических полей, значения которых должны быть считаны для объекта (список полей будет скопирован в список
flLoadEqualPoints
флаг считывания смежных точек с одинаковыми координатами (по умолчанию false)

Возвращает

-4
объект плохой, его тип не существует
-3
слой заблокирован для экспорта данных
-2
слой не найден
-1
объект не найден
иначе
число байт, занимаемых объектом в Blob поле

Описание

Считывание информации об объекте осуществляется экземпляр класса структуры объекта. определяется параметром IdType) FieldList, а их значения - в список ValueList объекта MOS, для пустых полей значение свойства "Object" соответствующего элемента равно TObject(1))

Пример

     var
       MOS: TMapObjectStructure;
       lCode: integer;
       oIndex: integer;
       oType: integer;
       oStyleID: int64;
       Count: integer;
       i0,i1,Count: integer;
       ofl: word;
       x,y: double;
     begin
       lCode:=99;
       oIndex:=2;
       MOS:=TMapObjectStructure.Create;
       Count:=Mappl.ReadMapObject(MOS,lCode,oIndex,oType,oStyleID,ofl,false);
       if Count > 0 then
       begin
         for i0:=0 to MOS.SubObjectsCount-1 do   // цикл по подобъектам
         begin
           for i1:=0 to MOS.VertexesCount[i0]-1  // цикл по точкам подобъекта
           begin
             x:=MOS.X[i0,i1];      // координата X 11-ой точки i0-го подобъекта
             y:=MOS.Y[i0,i1];      // координата Y 11-ой точки i0-го подобъекта
           end;
         end;
       end;
       MOS.Free;
     end;
  

Смотри также

ReadMapObject
Считать объект слоя карты
ReadNextMapObject
Считать объект слоя карты с индексом, начиная с заданного, удовлетворяющего условию фильтрации
ReadMapObjectByConn
Считать объект слоя карты по соединению с сервером СУБД
WriteMapObject
Записать объект слоя карты
WriteMapObjectByConn
Записать объект слоя карты по соединению с сервером СУБД