В комментарии добавил вопросы:
Код |
---|
QTextCodec* codec = QTextCodec::codecForName( "KOI8-R");
long list = mapGetSiteNumber( m_hMap, m_workingLayer); // Определить номер пользовательской карты в цепочке
long objCount =mapGetObjectCount( m_hMap, list); // Запросить общее число объектов в листе
long siteObjCount = mapGetSiteObjectCount( m_hMap, m_workingLayer); // Запросить количество объектов в пользовательской карте
qDebug() << "Objects count" << objCount << "siteObjCount" << siteObjCount;
HOBJ obj = mapCreateSiteObject( m_hMap, m_workingLayer); // Cоздать пустой объект пользовательской карты
for( long i = 1; i <= siteObjCount; i++)
{
long key = mapGetSiteObjectKeyByNumber( m_hMap, m_workingLayer, i); // Запросить уникальный идентификатор объекта по последовательному номеру объекта
if( mapSeekSiteObject( m_hMap, m_workingLayer, obj, key) != 0) // Поиск объекта по уникальному номеру на карте
{
QString objName = codec->toUnicode( mapObjectName( obj));
qDebug() << "found object" << i << key << objName ;
long pointCount = mapPointCount( obj, 0); // Запрос числа точек метрики объекта/подобъекта
if( pointCount == 1)
{
for( long j = 1; j <= pointCount; j++)
{
DOUBLEPOINT nextPoint;
if( mapGetGeoPoint( obj, &nextPoint, j, 0) != 0) //Запрос в данном случае происходит в СК главной карты? Т.е. в СК .map карты, a не "111"?
//Получается, что координаты будут в СК-42?
{
m_objectPoint = QPointF( nextPoint.x * 180. / M_PI, nextPoint.y * 180. / M_PI); //Записываем текущие координаты в m_objectPoint
point = m_objectPoint;
qDebug() << QString( "mapGetGeoPoint %1; %2")
.arg( m_objectPoint.x(), 0, 'f', 8)
.arg( m_objectPoint.x(), 0, 'f', 8);
}
}
m_currentObject = obj; // Записываем текущий объект
return;
}
}
if( mapUpdatePointGeo( m_currentObject, m_objectPoint.x() * M_PI / 180., m_objectPoint.y() * M_PI / 180., 1, 0) == 0) // В какой СК запишутся координаты? В СК главной карты, или в СК "111"? Координаты и объект те-же, что при чтении
{
qDebug() << "FAIL write coordinates";
}
if( mapCommit( m_currentObject) == 0) // Сохранить данные об объекте в карту
{
qDebug() << "FAIL commit object";
}
|