1. можете запросить паспортные данные карты с помощью api-функции:
// Запросить паспортные данные векторной карты
// Структуры MAPREGISTER и LISTREGISTER описаны в mapcreat.h
// hmap - идентификатор открытых данных
// sheetnumber - номер листа карты для
// которого запрашиваются паспортные данные
// При ошибке возвращает ноль
function mapGetMapInfo(Map : HMap; sheetnumber: integer;
var MapReg : TMAPREGISTER;
var Sheet: TLISTREGISTER) : integer;
{$IFNDEF LINUXAPI} stdcall {$ELSE} cdecl {$ENDIF}
external sGisAcces;
function mapGetMapInfoEx(Map : HMap; sheetnumber: integer; //15/09/03
var MapReg : TMAPREGISTEREX;
var Sheet: TLISTREGISTER) : integer;
{$IFNDEF LINUXAPI} stdcall {$ELSE} cdecl {$ENDIF}
external sGisAcces;
В TLISTREGISTER есть прямоугольные координаты листа в метрах, а также геодезические координаты листа в радианах.
2. Воспользуйтесь api-функцией:
// Определение видимости из точки point1 (координаты в метрах на местности) точку point2
// deltaheight - высота наблюдения (в метрах);
// добавляется к высоте в точке point1
// Вычисление производится при наличии открытой матрицы высот
// Возвращает 0 - point2 не видна из point1 // 12/04/06
// 1 - point2 видна из point1
function mapVisibilityFromPoint(Map : HMap; point1,point2 : PDoublePoint; deltaheight : double) : integer;
{$IFNDEF LINUXAPI} stdcall {$ELSE} cdecl {$ENDIF}
external sGisAcces