То есть вы предлагаете делать
приблизительно (самым простым способом) так :
/// функция выбора объекта по коду и локализации
/// oLocal - локализация
/// oCode - код классификатора
FSel := mapCreateMapSelectContext(FMap);
mapSelectLocal(FSel, -1,0);
mapSelectLocal(FSel, oLocal,1); [B]// выбираем объекты с локализацией (с 1000000 штук приблизительно 200000)[/B]
i:=0;
Obj:=mapCreateSiteObject(FMap,FMap,KM_IDFLOAT2,0);
while mapSeekSiteSelectObject(FMap,FMap,Obj, FSel, 4*Byte(i>0))<>0 do
begin
// [B]маслаем 20000 объектов для отбора по коду с классификатора[/B]
if mapObjectExCode(Obj)=oCode then
begin
SetLenGth(result,LenGth(result)+1);
result[High(result)].Base:=mapObjectKey(Obj);
end;
inc(i);
end;
mapDeleteSelectContext(FSel);
mapFreeObject(Obj);
-----------------
Спасибо !
Не утешительный ответ.
приблизительно (самым простым способом) так :
/// функция выбора объекта по коду и локализации
/// oLocal - локализация
/// oCode - код классификатора
FSel := mapCreateMapSelectContext(FMap);
mapSelectLocal(FSel, -1,0);
mapSelectLocal(FSel, oLocal,1); [B]// выбираем объекты с локализацией (с 1000000 штук приблизительно 200000)[/B]
i:=0;
Obj:=mapCreateSiteObject(FMap,FMap,KM_IDFLOAT2,0);
while mapSeekSiteSelectObject(FMap,FMap,Obj, FSel, 4*Byte(i>0))<>0 do
begin
// [B]маслаем 20000 объектов для отбора по коду с классификатора[/B]
if mapObjectExCode(Obj)=oCode then
begin
SetLenGth(result,LenGth(result)+1);
result[High(result)].Base:=mapObjectKey(Obj);
end;
inc(i);
end;
mapDeleteSelectContext(FSel);
mapFreeObject(Obj);
-----------------
Спасибо !
Не утешительный ответ.