Пиксельные координаты точки

0 голосов
спросил 01 Сен, 04 от Nickolay (4,780 баллов) в категории Программные продукты Esri

Как в  Avenue получить кординаты точки в растровой системе координат изображения из ImageTheme. Те с географическими все  понятно, в внутренней растровой (те "номера" точки в горизонтальных и вертикальных рядах точек растра)

Кто знает, расскажите, пожалуйста

12 Ответы

0 голосов
ответил 13 Сен, 04 от Nickolay (4,780 баллов)

Leo_SS

Мне для привязки достаточно сетки по широтам и долготам (те достаточно географических координат) Слава богу - достаточно и не требуются другие кординаты. Произвольный (ну, не произвольный, а выбранный так, чтобы соратить все-же возникающие искажения) меридиан центральный нужен, тк если бы работать только с предложенными картографами при изготовлении бумажных карт (а они, есс-но, в соответствии с зонами Г-К и тд), то, повторяю, при работе с районами в несколько листов карты ошибки были бы в одном месте малые, а другом месте больше. Тк не знаю, заранее где потрбуется в райне что-л вычислять препочитаю иметь равномерность ошибок по территории. Прекрасно бы всегда иметь дело с явлениями попадающими точно в одну геокарту и желательно поближе к ЦМ!!! Но это, согласитесь, нереально... Вектроризация - лишь одна из задач, их тьма. И всё норовят несколько листов зараз использовать...

Вот такие пироги.

Люди! Ну кто знает?

 И все-же так и не выяснил, как же мне получить растровые координаты точки изображения  (и их соответствие с географическими) в тематическом слое в среде ArcView-Аvenue!

Николай

0 голосов
ответил 14 Сен, 04 от Гость (210,080 баллов)

aView = av.GetActiveDoc
aDispl = aView.GetDisplay
aTheme = aView.GetActiveThemes.Get(0)
anImgSrc = aTheme.GetImgSrc
aRect = anImgSrc.ReturnMapExtent
 
inX = aRect.GetWidth / anImgSrc.GetNumColumns
inY = aRect.GetHeight / anImgSrc.GetNumRows

aPnt = aDispl.ReturnUserPoint 
' в aPnt не учтена проекция, допиши сам
pixX = (((aPnt.GetX) - aRect.GetLeft) / inX).Round
pixY = ((aRect.GetTop - (aPnt.GetY)) / inY).Round

MsgBox.Info(pixX.AsString+NL+pixY.AsString, "")

т.е. наверно понятно, что aPnt можно давать откуда угодно - из точек другой темы, из файла. В aPnt - точка в метрах по привязке, в pixX,pixY - пиксел.

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...