| Обсуждение |
| Программный экспорт в Mif, нюансы... [ Николай ] Среда, 6 октября 2010, 10:23
День бодрый уважаемый саппорт.
Случайно не подскажете что нужно написать в коде и какому объекту MapExporter'у или еще кому чтоб дата из полей уходила в dd/mm/yyyy и чтоб экспортировались все объекты типа а не по умалчиваемым границам (в интерфейсе кнопка "Все Объекты").
Спасибо.
Николай. |
|
| [ Objectland Support ] Среда, 6 октября 2010, 12:29
exporter.DateFormat = "dd/mm/yyyy"
Устанавливает формат даты. Символ разделителя должен встречаться 2 раза и быть одним и тем же (косая черта, знак минус, точка). Указывается шаблон для дат, соответственно, yyyy заменяется на четырехзначный год, yy - двухзначный год, mm - номер месяца, mmm - сокращенное символьное название месяца, dd - число.
exporter.SetWindow(windowCenterX, windowCenterY, windowWidth, windowHeight, windowAngle)
Устанавливает область экспорта, задаваемую координатами центра, шириной, высотой и углом поворота (в градусах). Задайте любую область и объекты, которые попадают в нее, будут экспортированы. Кнопка "Все объекты" в интерфейсе реализована через подсчет mbb (минимального охватывающего прямоугольника) всех объектов (что при большом количестве объектов может дать существенное замедление работы). |
|
| [ Николай ] Четверг, 7 октября 2010, 10:54
Обжеклэнд 2.6.9
Прописал формат даты - выдает 29/mm/2009 и пр.Это если две m написаны в формате. Если три или одна - соответственно. Поправимо?
SetWindow процедурой не прошло , вызвал Функцией, с реальными цифрами которые выдал мне интерфейс с кнопки "ВсеОбъекты". Призапуске ошибок не выдает быстренько проскакивает ничего не экспортируя... Где копать?
Спасибо. |
|
| [ Objectland Support ] Четверг, 7 октября 2010, 11:24
Извините за неверные сведения, в формате дат месяц указывается большими буквами, день и год - маленькими ("dd/MM/yyyy").
В интерфейсе при отображении любых координат учитывается текущая система координат, при программном же вызове в SetWindow передаются реальные координаты объектов карты, попробуйте поменять местами координаты X и Y центра задаваемой области, а также поменять ширину и высоту области. |
|
| [ Николай ] Понедельник, 11 октября 2010, 09:11
Огромное спасибо!!!
Теперь все работает и даже почти правильно.
Единственно что при "ручном" экспорте с сохраненной настройкой экспортируется 22400 объектов а из программы 22300. Усекание строк стоит и там и там, границы одинаковы....
Где можно еще покопать, в чем причина???
Николай. |
|
| [ Objectland Support ] Понедельник, 11 октября 2010, 11:29
Посмотрите, какая информация (общее количество объектов) попадает в файл отчета об экспорте в обоих случаях. |
|
| [ Николай ] Понедельник, 11 октября 2010, 11:59
Посмотрел, чуть не сломал моск...
Потом плюнул вспомнил пятницу (была чуть битая база, неправильно считала границы и вообще не все экспортировалось...)
и заведомо прописал в коде размер прямоугольника - 999999999.
Количество срослось.
тут другое прада уже не прыцыпиально но занятно.
размеры файлов полученных руками и программмой отличаются!!!
при одинаковом количестве.
С Mif'ом быстро понял что это изза разных баундсов
а в mid при сравнении файлов разница в информации конечно нашлась, но неуверен... завтра утром безникого проверю...
Николай. |
|
| [ Николай ] Вторник, 12 октября 2010, 10:44
Утром глянул - midы одинаковые.
Перешол на импорт. переписал код по аналогии для импорта пока без маппинга таблицы и полей, тутже нарвался от на вопль CreateMapImporter - Ошибка средства импорта-экспорта, Кот - 80041002.
Рабочий пример на VB,VBA,VBS на gis@donpac.ru случайно не вышлете?
Николай. |
|
| [ Objectland Support ] Вторник, 12 октября 2010, 16:47
Мы выслали Вам примеры по электронной почте. |
|
| [ Николай ] Среда, 13 октября 2010, 13:59
Огромное спасибо.
Получил, воюю, пока успешно, походу научился даже очищать тип объектов руками перед импортом.
И вопрос собсно. Перед импортом очищаю тип и привязанную к нему таблицу, этого достаточно или надо по хорошему разрывать связи или еще какие манипуляции выполнять ?
Николай. |
|
| [ Objectland Support ] Среда, 13 октября 2010, 14:23
Если Вам надо очистить тип объектов и таблицу перед импортом - достаточно. |
|
| [ Николай ] Среда, 27 октября 2010, 09:09
Сел ваять импорт...
Примеры внимательно изучил...
Уткнулся в непонятку при маппинге полей, без него
графика тянется нормально...
фрагмент кода
Set map = gdb.Maps("некаядебильнаякарта")
Set ixr = engine.CreateMapImporter(map, dbIeMapFormatMIF, filePath)
Set mapping = ixr.FeatureTypeMappings
Set featureType = map.Layers("слой").FeatureTypes("тип")
For Each mapping In ixr.FeatureTypeMappings
if mapping.Number = 3 then
mapping.FeatureType = featureType
Set table = GDB.Tables("таблицапривязаннаяктипу")
mapping.LinkedTable = table
mapping.RecordUpdateMode = True
mapping.CreateLinks = true
For Each fieldMapping In mapping.FieldMappings
if fieldMapping.Number = 1 then
fieldMapping.field = table.Fields("имяполятаблицыпривязаннойктипу")
end if
Next
end if
Next
ixr.Import reportPath
на последней строчке выдает : "name" not understood
Подскажите где не прав или что не дописал
С уважением Николай. |
|
| [ Objectland Support ] Среда, 27 октября 2010, 16:16
Это наша ошибка, связанная с тем, что происходит неправильная обработка коллекции описателей соответствия полей связанной таблицы (FieldMappings) в случае, когда соответствие задается не для всех полей.
Для избежания появления этой ошибки Вы должны задать соответствие всех полей в коллекции mapping.FieldMappings. Мы вышлем Вам исправление этой ошибки, если Вы укажете свой адрес электронной почты. |
|
| [ Николай ] Четверг, 28 октября 2010, 08:35
Ммммм....
Понял, пока попробую помапать все поля для тренировки моска, да и ваяется это все под 2.6
Спасибо!!!
Николай. |
|
| [ Николай ] Четверг, 28 октября 2010, 15:11
Смапал все поля, заработало, правда после прописания формата даты...
Адрес электрической почты тотже - gis@donpac.ru Патчи если есть то и для 2.6 и для 2.7 пожайлуста вышлите.
С уважением и благодарностью Николай. |
|
| [ Николай ] Суббота, 26 февраля 2011, 20:10
Прога экспорта на 2.6.9 и 2.7.5 отлично работает.
Ставил тут ее клиенту на 2.6.7 коммерческую. Получил в ответ на строчке exporter.Export reportPath - Key is missing , Код 80040FA0 , Объект - GDBMapExporterMIF.... И следом недоуменный вздох - OLE Warning - OLE resource registries were not emptied by release logic (what to do?!) - дословно
Это 2.6.7 виновата или я что-недоучел? Люди пароль на сайт чтоб скачать коммерческую 2.6.9 естественно посеяли - может вышлите или подскажете как им поступить.
С уважением Николай. |
|
| [ ObjectLand Support ] Суббота, 26 февраля 2011, 22:12
|
| [ Николай ] Пятница, 6 декабря 2019, 17:43
Вторник, 12 октября 2010, 16:47
Вы высылали мне примеры по электронной почте.
Есть необходимость возобновить импорт из Mif через COM.
Примеры, почта и старые к сожаленью наработки потеряны.
Не моглибы выслать теже примеры или их современное состояние на актуальную почту.
Спасибо. |
|
| [ ObjectLand Support ] Понедельник, 9 декабря 2019, 14:56
Выслали Вам примеры по электронной почте. |
|
| [ Николай ] Среда, 11 декабря 2019, 20:09
Огромное спасибо!!! Удалось восстановить скрипты. |
|
ОтветитьЗнаком «*» отмечены обязательные для заполнения поля. |
| |