На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Dmitry S (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Dmitry S
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 7 8 След.
Параметры mifInitLoadToMapEx
 
Здравствуйте.

Делаю пакетную загрузку миф\мид в проект

Посмотрел SDK, сделал обертки API функций
Сделал маленький тест на 1 слой.
Все работает! Сит создается, объекты присутствуют, но все без кода, т.к. в семантике его и нет.
Но т.к. в си не силен, пример до конца не могу понять.

Подскажите какой и куда передать параметр, чтобы сразу назначить нужный код создаваемым объектам,
как это сделано в панораме.
В тесте, я ему пытался установить код 71123000, но что-то не вышло.[CODE]procedure TForm7.Button2Click(Sender: TObject);
var
 MIFTOMAP: HMIFTOMAP;
 Handle : HMESSAGE;
 NameMif: string;
 NameRsc: string;
 ProjectName: string;
 regname: string;
 mapname: string;
 
 scale: Integer;
 semnumber: Integer;
 rscininame: String;
 CodeName: AnsiString;
 codetype: Integer;
 Incode: Integer;

 map: HMAP;
 rsc: HRSC;
 res : Integer;
 addflag: Integer;
 ischangexy: Integer;
 frec: Integer;
 isutf8: Integer;
 ismifsave: Integer;
 isdrawsave: Integer;
begin
 Handle := 0;
 NameMif := 'z:\work\tst.mif';
 NameRsc := 'z:\work\tst.rsc';
 ProjectName := '';//'z:\work\prj.prj';
 scale := 10000;
 semnumber := 0;
 rscininame := '';
 CodeName := '';
 codetype := 0;

 rsc := mapOpenRsc(GTKPChar(GTKString(NameRsc)));
 Incode := mapGetRscObjectCodeByNumber(rsc, 71123000, OL_SQUARE);

 mapName := 'z:\work\test.sit';
 regName := 'test';
 map:= 0;
 addFlag:= 0;
 ischangexy := 0;
 frec := 0;        
 isutf8 := 0;
 ismifsave:= 1;
 isdrawsave:= 0;
 
 MIFTOMAP := mifInitLoadToMapEx(
   handle,
   PChar(NameMif),
   PChar(NameRsc),
   PChar(ProjectName),
   scale,
   semnumber,
   PChar(rscininame),
   sizeof(rscininame),
   PAnsiChar(CodeName),
   sizeof(CodeName),
   codetype,
   Incode
 );
 try
   res := mifSetupLoadToMap(
     MIFTOMAP,
     PChar(NameMif),
     PAnsiChar(CodeName),
     semnumber,
     Incode,
     ismifsave,
     isdrawsave
   );
 
   res := mifLoadToMapUn(
     MIFTOMAP,
     map,
     PChar(NameMif),
     PChar(mapName),
     PChar(NameRsc),
     PChar(regname),
     scale,
     semnumber,
     addFlag,
     ischangexy,
     frec,
     isutf8
   );
   
 finally
   mifFreeLoadToMap(MIFTOMAP);
   mapCloseRsc(rsc);
 end;
end;[/CODE]
Полигон с подписью
 
[QUOTE]Александр Кружков написал:
Такого знака пока нет. Делать будем[/QUOTE]
Отлично.
А если будут реализованы оба варианта, то еще лучше.
 первый - быстрый можно будет установить для "оперативной" работы
 второй - для печати отчетов
а если, опционально, и выноска будет - замечательно.
TMapSelectRect, TMapSelectRect
 
[QUOTE]Сергей Викторович написал:
ожидается, что при новом MapSelectRect1.StartAction;указатель мыши с нового места начнет из точки раздвигать рамку,но этого не происходит. Просто снова включается рамка в том же месте, где мы ее оставили в в последней раз.[/QUOTE]
Попробовал на чистом проекте только (MapSelectRect, MapScreen и checkBox ), нет такого эффекта.
Ничего само не включается, рамка стартует с новой позиции

Может у Вас в обработчиках событий MapSelectRect или MapScreen какая-то доп логика прописана?
Проверьтесь на чистом проекте.
Проект MPT vs SIT
 
Спасибо, Роман Альбертович.

Если можно, маленькое уточнение.
По документации

> Карта в формате SIT предназначена для хранения одного листа карты.
> При необходимости объединения карт в формате SIT/SITX в один район создается файл проекта MPT.

К ситу так же можно подключить и растры, и матрицы, и другие ситы.
И все эти настройки сохраняются в файл.sit.ini
Но в документации я не увидел этого.
Т.е. на эту возможность лучше не закладываться и использовать файл проекта?
Проект MPT vs SIT
 
Здравствуйте.
Тема не совсем про GTK, просто всплыла после знакомства с mapapi[CODE] // name - имя открываемого файла (MAP, SIT, MTW, RSW, MPT) в кодировке UNICODE[/CODE]Хочу создать пробный проект, чтобы перенести существующий и протестировать возможности ядра
Приблизительная структура существующего решения основана на слоях и имеет древовидную структуру:
Условно:
Скрытый текст

Хотелось создать аналог структуры представления данных.
Оптимальным видится
 Субъект = отдельный SIT,
 Район = отдельный SIT с подключенными субъектами
 Область , тоже думал, как и район, через отдельный SIT делать.

Но вот засомневался, может тут нужно работать с проектом.

Подскажите:
1. есть где-нибудь описание (доки) в каких случаях используется (MAP, SIT, MPT)
2. Как лучше организовать визуализацию, если у каждого субъекта д.б. свой оттенок
 - создание в классификаторе неск. сотен УЗ со своими цветами...
 - назначение каждому объекту, backColor
 - использовать для каждого сита свой классификатор с одним УЗ, но разными цветами


Данные планируется размещать на Гис сервере.
Полигон с подписью
 
Извините, что поднимаю тему.
Вопрос для меня важен, а с iml пока не разбирался.
Ответьте хотя-бы возможно/нет сделать такой знак.
Очень долгий mapSelectSeekArea
 
[U]Для этой задачи[/U] алгоритм оказался избыточным!!!
Расчет зоны и включение ее в селект оказалось ОГРОМНЫМ злом.
На эту мысль навела информация
[QUOTE]Александр Кружков написал:
проверяется N-1 отрезок[/QUOTE]
Т.е. для установления факта пересечения похоже пересчитываются (все отрезки всех рек * все отрезки маршрута)
[B]Убрал из алгоритма все связанное с зоной,[/B] добавил вместо этого выборку по габаритной рамке маршрута[CODE]mapObjectFrame(CurrMapObject.ObjHandle, frame);
mapSelectSeekAreaFrame(HS, frame, 0, 1);[/CODE][B]Итог:[/B]
Маршрут 425 км,
объектов в выборке 2057 (линейная и площадная гидрография),  
точек пересечения 1386
Время работы алгоритма вместе с поиском точек пересечения - 1,3 сек
Изменено: Dmitry Stasev - 13.02.2019 07:46:38
Очень долгий mapSelectSeekArea
 
[QUOTE]Александр Кружков написал:
mapSelectSeekArea(HS, ZoneObj, 0, 1, 1, 0, 1);[/QUOTE]
Спасибо, стало чуть лучше 67сек вместо 71сек
Полигон с подписью
 
Здравствуйте.

Нужен УЗ "Полигон с подписью в центре ВИДИМОЙ части"
Т.е. не просто в центре полигона,
а чтобы подпись отображалась[B] в центре видимой части полигона,[/B] когда его часть за границей окна.

Из коробки, Панорама этого не поддерживает?
Возможно ли это реализовать по технологии IML ?
Может я не досмотрел и такой знак (библиотека) есть?
Коллекции
 
Здравствуйте.
Я так понял, что коллекции, как отдельного понятия, в Панораме нет.
Т.е. весь функционал работы с коллекцией реализован через групповые семантики.
И как следствие все операции по селектированию, модификации и т.п. таких геометрий лежат на разработчике.

Кстати а как обстоит дело с импортом/экспортом внешних форматов данных, которые поддерживают коллекции?
Если сделать импорт/экспорт mid\mif с коллекцией, в результирующем файле коллекций уже не будет?
Страницы: Пред. 1 2 3 4 5 6 7 8 След.



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

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности