На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты
АРХИВ ФОРУМА...
здесь вы можете ознакомиться с материалами форума до 08.06.2008

Не заполняется паспорт карты

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » ГИС Панорама 12
Страницы: 1 2 След.
RSS
Не заполняется паспорт карты
 
Добрый день.

При импорте Shape файлов с помощью функций ShpLoadFolder или shpLoadFromFolderByShi паспорт карты остается пустым. А именно не заполняются осевой меридиан, парралель главной точки, смещение на восток и север. Проекция выставдяется правильная.

Проекция Shape файлов: "+proj=tmerc +lat_0=0 +lon_0=33 +k=1.0 +x_0=0 +y_0=-7657865 {} +units=m +ellps=WGS84 +datum=WGS84 +no_defs"

Почему это происходит?

Есть ли возможность каким то образом через API обновить паспорт карты вручную? Не могу найти в API функцию mapSetMapInfo, при этом mapGetMapInfo есть (тоже самое касается *Ex и *Pro версий этих функций)
 
Кое что еще нашел.

   map_reg.MainPointParallel = glm::radians(lat_0);
   map_reg.AxisMeridian       = glm::radians(lon_0);
   map_reg.FalseEasting       = y_0;
   map_reg.FalseNorthing      = x_0;

   HMAP hmap_dst = st::panorama::mapCreateMapEx(dst_map_path, rsc_path, &map_reg, &sheet);
   st::panorama::mapCloseMap(hmap_dst);

// Открываем карту в Панорама мини, в паспорте все есть
   
   HSITE hsite_dst = st::panorama::mapOpenSiteForMapEx(hmap_src, dst_map_path, GENERIC_WRITE, 1);
   st::panorama::mapCloseSiteForMap(hmap_src, hsite_dst);

// Открываем карту в Панорама мини, в паспорте все пропало
 
Цитата
Александр Волков написал:
Кое что еще нашел.

   map_reg.MainPointParallel = glm::radians(lat_0);
   map_reg.AxisMeridian       = glm::radians(lon_0);
   map_reg.FalseEasting       = y_0;
   map_reg.FalseNorthing      = x_0;

   HMAP hmap_dst = st::panorama::mapCreateMapEx(dst_map_path, rsc_path, &map_reg, &sheet);
   st::panorama::mapCloseMap(hmap_dst);

// Открываем карту в Панорама мини, в паспорте все есть
   
   HSITE hsite_dst = st::panorama::mapOpenSiteForMapEx(hmap_src, dst_map_path, GENERIC_WRITE, 1);
   st::panorama::mapCloseSiteForMap(hmap_src, hsite_dst);

// Открываем карту в Панорама мини, в паспорте все пропало

Если в shape файлах установлены Градусы, то на выходе получается Цилиндрическая проекция Меркатора без заполненных параметров.

Если Вам нужно преобразовать проекцию, то загружаете данные как есть и выполняете задачу Преобразование проекции карты.

На форуме обсуждалась похожая тема:

http://gisweb.ru/forum/messages/forum2/topic8938/message66702/8938-perevod-sredstvami-gis-toolkit-ck...

Изменено: Елена Кузнецова - 12.04.2019 11:13:02
 
Хорошо, но вот это же явный баг ?

Код
    map_reg.MainPointParallel = glm::radians(lat_0); 
    map_reg.AxisMeridian       = glm::radians(lon_0);
    map_reg.FalseEasting       = y_0;
    map_reg.FalseNorthing      = x_0;

    HMAP hmap_dst = st::panorama::mapCreateMapEx(dst_map_path, rsc_path, &map_reg, &sheet);
    st::panorama::mapCloseMap(hmap_dst);

// Открываем карту в Панорама мини, в паспорте все есть
    
    HSITE hsite_dst = st::panorama::mapOpenSiteForMapEx(hmap_src, dst_map_path, GENERIC_WRITE, 1);
    st::panorama::mapCloseSiteForMap(hmap_src, hsite_dst);

// Открываем карту в Панорама мини, в паспорте все пропало

Открытие пользовательской карты на запись стирает данные в паспорте карты
 
Цитата
Александр Волков написал:
Хорошо, но вот это же явный баг ?

Код
 
Открытие пользовательской карты на запись стирает данные в паспорте карты
В файлах prj. недостаточно данных.
Нужен хотя бы один файл с расширением prj.
http://gisweb.ru/forum/messages/forum26/topic9918/message75169/9918-nekorrektnoe-naznachenie-proekts...
Изменено: Елена Кузнецова - 12.04.2019 14:32:41
 
Вот содержимое файла *.prj, в нем есть вся информация:

PROJCS["Transverse_Mercator",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",33],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",-7657865],UNIT["Meter",1]]
 
Цитата
Александр Волков написал:
Вот содержимое файла *.prj, в нем есть вся информация:

PROJCS["Transverse_Mercator",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",33],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",-7657865],UNIT["Meter",1]]
В файле проекции *.prj прописаны градусы, то будет выставлена проекция Цилиндрическая  Меркатора. Для установки своей системы коорлинат нужно после загрузки выполнить преобразование проекции.
Изменено: Елена Кузнецова - 15.04.2019 08:51:30
 
Елена, доброе утро. Это мне стало ясно с вашего первого сообщения, посмотрите внимательнее что я пишу:

Открытие пользовательской карты на запись стирает данные в паспорте!

Т.е. вот этот код стирает данные о центральном меридиане, смещении на север и т.п.

HSITE hsite_dst = st::panorama::mapOpenSiteForMapEx(hmap_src, dst_map_path, GENERIC_WRITE, 1);    

st::panorama::mapCloseSiteForMap(hmap_src, hsite_dst);


А вы мне все говорите о необходимости выполнить перепроекцию
Изменено: Александр Волков - 15.04.2019 10:06:39
 
Цитата
Александр Волков написал:
Елена, доброе утро. Это мне стало ясно с вашего первого сообщения, посмотрите внимательнее что я пишу:

Открытие пользовательской карты на запись стирает данные в паспорте!

Т.е. вот этот код стирает данные о центральном меридиане, смещении на север и т.п.

HSITE hsite_dst = st::panorama::mapOpenSiteForMapEx(hmap_src, dst_map_path, GENERIC_WRITE, 1);    

st::panorama::mapCloseSiteForMap(hmap_src, hsite_dst);


А вы мне все говорите о необходимости выполнить перепроекцию
Внесли поправки по работе Импорта Shape файлов.
Проверили -  Паспорт карты сохранил все поля в соответствии с файлом prj.
В ближайшее время обновим библиотеки на нашем сайте.
 
Спасибо!
Страницы: 1 2 След.
Читают тему (гостей: 2)



© КБ Панорама, 1991-2019