Получение масштаба

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
QwertyICQ
Новоприбывший
Сообщения: 5
Зарегистрирован: 07 ноя 2011, 07:58
Репутация: 0

Получение масштаба

Сообщение QwertyICQ » 07 ноя 2011, 08:04

Подскажите как получить масштаб карты загруженной в элемент axMapControl?

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Получение масштаба

Сообщение Дмитрий Барышников » 07 ноя 2011, 10:13

Через свойство MapScale
http://edndoc.esri.com/arcobjects/9.2/C ... pScale.htm

QwertyICQ
Новоприбывший
Сообщения: 5
Зарегистрирован: 07 ноя 2011, 07:58
Репутация: 0

Re: Получение масштаба

Сообщение QwertyICQ » 07 ноя 2011, 10:15

Я правильно понимаю?
double scale = axMapControl.Map.MapScale;

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Получение масштаба

Сообщение Дмитрий Барышников » 07 ноя 2011, 11:09

Да, или даже
double scale = axMapControl.MapScale;
если есть такое свойство.

QwertyICQ
Новоприбывший
Сообщения: 5
Зарегистрирован: 07 ноя 2011, 07:58
Репутация: 0

Re: Получение масштаба

Сообщение QwertyICQ » 07 ноя 2011, 11:44

Почему то всегда передается 0. Может я не на то событие обработчик запихнул? Я сделал в OnExtentUpdated

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Получение масштаба

Сообщение Дмитрий Барышников » 07 ноя 2011, 13:08

А если установить масштаб - карта меняется? Данные (слои) загружены?
axMapControl.MapScale = 100000;
Обработчик вроде правильно стоит.

QwertyICQ
Новоприбывший
Сообщения: 5
Зарегистрирован: 07 ноя 2011, 07:58
Репутация: 0

Re: Получение масштаба

Сообщение QwertyICQ » 07 ноя 2011, 15:23

Слои загружены. Карта не меняется если вручную задавать.

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Получение масштаба

Сообщение Дмитрий Барышников » 07 ноя 2011, 20:23

А так работает?

Код: Выделить всё

private ESRI.ArcGIS.MapControl.AxMapControl axMapControl1;
axMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.ScaleRatio = 10000
axMapControl1.ActiveView.Refresh();
double dfScale = axMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.ScaleRatio;

Творчески переработал это http://edn.esri.com/index.cfm?fa=codeEx ... sForm1.htm
и вот это http://edndoc.esri.com/arcobjects/9.2/C ... eRatio.htm

QwertyICQ
Новоприбывший
Сообщения: 5
Зарегистрирован: 07 ноя 2011, 07:58
Репутация: 0

Re: Получение масштаба

Сообщение QwertyICQ » 08 ноя 2011, 07:48

Спасибо за ответы. Все получилось гораздо проще. Оказывается я просто не задал axMapControl систему координат которая используется по умолчанию

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей