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

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

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

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

12 Ответы

0 голосов
ответил 01 Сен, 04 от Leo_SS (6,820 баллов)
Уважаемый Nickolay объясните, пожалуйста, что это за растровая система координат изображения. Что Вы хотите получить, какие координаты? После этого может быть Вам кто-то и ответит.
0 голосов
ответил 02 Сен, 04 от Nickolay (4,780 баллов)

Под "Растровая система координат"2 - я имел в виду, жалко, что не сумел, видимо более ясно это выразить, - что-то типа картезианских (если знаете такие) коодинат точки в системе координат дисплея. Там начало - левый верхний угол, ордината "смотрит вниз", абсцисса - нормальная. Так и в любом растре имеется локальная СК, позволяющая однозначно указать точку растра. Естественно она мб выбрана несколькими способами. Но в ArcView, ArcGis для создания, например,World-файлов используется указание соответствия между точкой изображения, указанной в "растровых координатах" и в "географических" координатах.

Действительно, нужная вещь, как оказалось.

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

Leo_SS
А теперь, понятнее?

0 голосов
ответил 07 Сен, 04 от Leo_SS (6,820 баллов)
Теперь понятнее. Я вообще-то геолог, не могу представить задачу где бы мне понадобились именно координаты пиксела (-ов) привязанного растра. С размером пикселов в файле привязки - это понятно, а с координатами отдельного пиксела не очень. Не один объект с растра, при векторизации, не имеет размер одного пиксела, что бы получать его координаты. Интересно, что это у Вас за такая задача?
0 голосов
ответил 07 Сен, 04 от Leo_SS (6,820 баллов)

Nickolay, в Help есть пункт "Привязка изображения к карте", в нем описание файла привязки (Мирового файла) и его создание, есть формулы. Может это Вам поможет. Если у Вас нет руссифицированного хелпа, сообщите свой адрес, пришлю.

 

0 голосов
ответил 07 Сен, 04 от Leo_SS (6,820 баллов)

Разобрался с кодировкой хелпа. Вот выдержка из него:

Содержание мирового файла<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

Содержание мирового файла выглядит примерно следующим образом:

 

                  20.17541308822119

                   0.00000000000000

                   0.00000000000000

                 -20.17541308822119

              424178.11472601280548

 

             4313415.90726399607956

 

Если такой файл существует, ArcView производит трансформацию изображения к реальным мировым координатам. По существу, трансформация является афинным преобразованием с шестью параметрами в следующей форме:

 

x1 = Ax + By + C

 

y1 = Dx + Ey + F

 

где

 

x1 = рассчитанное значение координаты x карты для пиксела

y1 = рассчитанное значение координаты y карты для пиксела

x = номер столбца пиксела изображения

y = номер строки пиксела изображения

A = шкала x; размерность пиксела в единицах измерения карты по оси x

B, D = параметры вращения (rotation terms)

C, F = параметры точки отсчета (translation terms); координаты карты x,y для центра верхнего левого пиксела

 

E = обратная шкала y; размерность пиксела в единицах измерения карты по оси y

 

Примечание  Шкала y (E) является обратной, поскольку координаты точки отсчета изображения и географическая система координат различны. Точка отсчета изображения находится в верхнем левом углу, в то время, как координатная система карты – в нижнем левом. Порядковый номер строки изображения увеличивается по направлению вниз, а значение координаты y – по направлению вверх.

 

Параметры трансформации хранятся в мировом файле в следующем порядке:

 

                  20.17541308822119 - A

<P class=Msonormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALI
0 голосов
ответил 08 Сен, 04 от Nickolay (4,780 баллов)

Leo_SS

У меня задачи разные возникают по поводу растра.

Вот, например, такая: есть набор растров, привязанных в одной системе координат и требуется их перетрансформировать в некоторую другую систему. Заново расставдять реперные точки не эффективно. Хочется раз наметив реперные точки на исходном растре, автоматически (пакетно) растры перетрансформировать в новую систему координат.

И даже есть исходные растры и те реперные точки (в растровой и географической системе координат (гмс - широта и долгота) или Transverse Mercator,а и не важно это), ктотрые использовались для трансформации растров. И конечно есть World-файлы  (хотя они могут быть  требуется, когда потеряны реперные точки и исходные растры, тогда - печально - надо уже транформированный однажны растр перетрансформировать - это крайне нежелательно).

Николай

0 голосов
ответил 09 Сен, 04 от Leo_SS (6,820 баллов)

Николай, World-файлы делаются для привязки растра в одной зоне с ее центральным меридианом (например, отсканированные планшеты крупномасштабных карт). Если поменять ЦМ, растр откроется со смещением равным разности между ЦМ. В одном ВИДЕ помещать растры из разных зон не получится, хотя и можно в качестве иллюстрации, с дополнительной трансформацией и перепривязкой.

leo_ss

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

Leo_SS

можно в качестве иллюстрации, с дополнительной трансформацией и перепривязкой.

Вот  именно это и есть основной способ использования растров в моем случае - и именно в обном виде. Только про то, что в качестве исслюстрации - не согласен. Две три соседние карты вполне трансформируются и с небольшой ошибкой. Интересно, какие ошибки привязки растров в геологии (или в Ваших приложениях, к примеру) считаются допустимыми? У меня обычно - 40-50-70 метров (на растрах 5 км карт, в худших случах - очень редко- чуть больше 100 м). На 2 км картах - ошибки меньше... Но если о покрытии того же района, что и 5 км говорить - то ошибки явно не большие чем у 5км. Вполне устраивают пока, - хоть к примеру точность моих GPS-ов показывается как 4-5 м, но реально (и это можно проверить по backtrack'у) она как раз того же порядка выходит, как и у растровой привязки.

А для повышения точности растры уж тогда векторны карты надо делать, растр - то он завсегда с ошибкой будет (к примеру размер cell size  на моих 5 км растрах - от 40 lдо 85, если память не подводит)

И все же самое главное - как пакетно перепривязать в другой системе координат  уже привязанные ранее растры, имея исходный нетрансформированный надо растров и использованные ранее дляпривязки и трансформации набор реперныех точек (набор пар растровая точка-геоточка к предыдущей сист координат)?

Николай

0 голосов
ответил 13 Сен, 04 от Leo_SS (6,820 баллов)

Для пакетного перепривязывания надо писать скрипт, который учитывал бы параметры всех проекций, элепсоидов и т.д. - зачем такая головоломка!? И еще зачем совать растры из разных зон в один ВИД, да еще с произвольным ЦМ? Если используешь крупномасштабные планшеты для векторизации, то точнее и проще призязать растры одной зоны, чем двух и более, т.к. для точности строишь километровую сетку, чтобы убрать искажения при сканировании. А для двух и более зон единую километровую сетку не построишь!

leo_ss

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