GIS-LAB

Географические информационные системы и дистанционное зондирование


Форумы GIS-Lab.info

Геоинформационные системы (ГИС) и Дистанционное зондирование Земли


Получение координат точки и координат щелчка мыши в Arcview

Обсуждение материалов сайта: вопросы, замечания, предложения

Получение координат точки и координат щелчка мыши в Arcview

Сообщение updates-bot » 17 июл 2008, 19:45

Обсуждение статьи "Получение координат точки и координат щелчка мыши в Arcview"

http://gis-lab.info/qa/point.html

история создания инструмента
  • 0

updates-bot
Bot
 
Зарегистрирован: 04 фев 2008
 
Сообщения: 276
Репутация: 3

Сообщение Ruslan » 18 июл 2008, 12:38

Огромное спасибо авторам идеи данного скрипта и разработчикам!!!

Pасширением "GetPoint" Пользуюсь каждый день!!!
Ну очень дружелюбное и эффективное расширение.

Но, возникла следующая просьба, вот ее смысл:
Я очень часто проверяю качество исполнения крупномасштабных карт, а также, например качество привязки планов - схем, посредством сервиса "Google maps" дабы не напрягаясь, посмотреть аналогичную местность на космоснимках, довольно часто очень хорошего разрешения.
Как я это делаю: кликнул расширением "GetPoint" например на перекрестке дорог, далее вставил координаты в строке поиска "Google maps" (немножко поколдовал добавляя разделители и меняя местами координаты) потом "Enter" и "Слава Интернету!" в браузере отобразилось то место которому принадлежит координата! далее сравнивай, по настроению, хвали или ругай качество привязки - оцифровки ;)

Все бы идеально, НО гугл воспринимает координаты в таком виде: [ 55.754252,37.620192 ] то есть lat,long дробный разделитель - точка, разделитель между широтой долготой - запятая.
А вот у расширения "GetPoint" координаты копируются в таком виде: [ 37.620192;55.754252 ] иначе говоря long;Lat дробный разделитель - точка, разделитель между долготой и широтой - точка с запятой.

Теперь просьба: дополните пожалуйста расширение "GetPoint", еще одним способом копирования координат(сейчас там два типа копирования координат) специально для работы с сервисом
"Google maps" . что бы вначале шла координата широты, потом запятая далее координата долготы, дробный разделитель точка.
И тогда не нужно будет колдовать, и будет очень удобно работать с сервисом "Google maps". :)

Зараннее спасибо!
  • 0

Аватара пользователя
Ruslan
Интересующийся
 
Зарегистрирован: 27 окт 2003
Откуда: НекстГИС (на карте)
 
Сообщения: 47
Репутация: 1

Сообщение Максим Дубинин » 18 июл 2008, 19:10

просьба принимается
я так понимаю, что вот это известно и это не то о чем идет речь?
  • 0

пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8876
Репутация: 633
Статьи: 231
Проекты: 12/6

Сообщение Ruslan » 21 июл 2008, 12:15

Протестировал расширение "Open-in-google-maps-earth" .
Не понравилось. Каждый раз гуглмапс грузиться с нуля в новой вкладке браузера!

Поэтому для меня предпочтительней вариант переноса координат как у "GetPoint".
  • 0

Аватара пользователя
Ruslan
Интересующийся
 
Зарегистрирован: 27 окт 2003
Откуда: НекстГИС (на карте)
 
Сообщения: 47
Репутация: 1

Сообщение Максим Дубинин » 22 июл 2008, 21:47

качаем новую версию расширения с целыми четырьмя возможностями, включая ту, что для Google Maps (кнопка G)
  • 0

пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8876
Репутация: 633
Статьи: 231
Проекты: 12/6

Сообщение Ruslan » 23 июл 2008, 10:41

Большое человеческое спасибо!!!
Проверил, все работает, как изначально и хотелось.
  • 0

Аватара пользователя
Ruslan
Интересующийся
 
Зарегистрирован: 27 окт 2003
Откуда: НекстГИС (на карте)
 
Сообщения: 47
Репутация: 1

Re: Получение координат точки и координат щелчка мыши в Arcview

Сообщение AN1440 » 22 июн 2009, 17:55

Проблема в том, что компъютер понимае значения широты/долготы в виде dd.dddd, а вот подавляющее большинство обычных людей - только в dd°mm'ss".
Звонишь там в авиаохрану, например, а они: "Не морочте нам голову! Скажите нормально, с минутами и секундами."
И приходится открывать Виндозный каркулятор...

Никогда раньше не связывался с AVENUE, но задрало! И решил попробовать.
Вот что получилось (основной текст - авторский, моё - ограничено " '---------------" )

Код: Выделить всё
'Задать точность вывода координат, количество знаков после разделителя целой и дробной части
Script.The.SetNumberFormat("d.dddddd")
'Определить объект aView - Вид
aView = av.GetActiveDoc
'Определить объект aDisplay (область отображения данных являющаяся частью вида)
aDisplay = av.GetActiveDoc.GetDisplay
'Определить объект aPoint - точку, показывающую положение курсора мыши в момент щелчка
aPoint = aDisplay.ReturnUserPoint
'Определить спроектирован ли вид
aPrj = aView.GetProjection
'Если вид спроектирован - перевести точку в географическую проекцию
if (aPrj.IsNull.Not) then aPoint = aPoint.ReturnUnprojected(aPrj) end
'Определить географические координаты точки
xCoord = aPoint.getX
yCoord = aPoint.getY
'------------------------------
xCoordD = xCoord.truncate
xCoordM = ((xCoord - xCoordD)*60).truncate
xCoordS = ((((xCoord - xCoordD)*60)-xCoordM)*60).round
if (xCoordS > 59) then
    xCoordS = 0
    xCoordM = xCoordM + 1
    if (xCoordM > 59) then
        xCoordM = 0
        xCoordD = xCoordD + 1
    end   
end
xCoordD.SetFormat("d")
xCoordM.SetFormat("dd.")
xCoordS.SetFormat("dd.")
xD = xCoordD.asString + "° "
xM = xCoordM.asString + "' "
xS = xCoordS.asString + "''"
x = xD+xM+xS

yCoordD = yCoord.truncate
yCoordM = ((yCoord - yCoordD)*60).truncate
yCoordS = ((((yCoord - yCoordD)*60)-yCoordM)*60).round
if (yCoordS > 59) then
    yCoordS = 0
    yCoordM = yCoordM + 1
    if (yCoordM > 59) then
        yCoordM = 0
        yCoordD = yCoordD + 1
    end   
end
yCoordD.SetFormat("d")
yCoordM.SetFormat("dd.")
yCoordS.SetFormat("dd.")
yD = yCoordD.asString + "° "
yM = yCoordM.asString + "' "
yS = yCoordS.asString + "''"
y=yD+yM+yS

'------------------------------
'Очистить буфер обмена
Clipboard.The.Empty
'Добавить в буфер обмена строку содержащую координаты
Clipboard.The.Add("X-coord: " + xCoord.asString + nl + "Y-coord: " + yCoord.asString)
'Обновить буфер обмена
Clipboard.The.Update
'Вывести полученные координаты в окне сообщения
msgbox.info("X: " + xCoord.asString + " (" + x +" )" + nl + "Y: " + yCoord.asString+ "   ( " + y + " )", "Координаты скопированы в буфер обмена")
'Если модифицировать строку добавляющую в буфер обмена координаты таким образом:

'Clipboard.The.Add(xCoord.asString + tab + yCoord.asString)
'То скопированные координаты будет удобно добавлять в документ Excel, они сразу будут попадать в соседние ячейки, для вставки в ячейки таблиц ACCESS и WORD нужно, чтобы смежные поля были оба выделены


Ура!!!
Сработало!!!
  • 0

AN1440
Участник
 
Зарегистрирован: 24 фев 2006
 
Сообщения: 75
Репутация: 0

Re: Получение координат точки и координат щелчка мыши в Arcview

Сообщение AN1440 » 22 июн 2009, 18:14

...или - ещё вариант, в формате dd°mm'ss.s" :
Код: Выделить всё
'------------------------------
xCoordD = xCoord.truncate
xCoordM = ((xCoord - xCoordD)*60).truncate
xCoordS = ((((xCoord - xCoordD)*60)-xCoordM)*60)
xCoordSd = ((((xCoord - xCoordD)*60)-xCoordM)*60)-xCoordS

xCoordD.SetFormat("d")
xCoordM.SetFormat("dd.")
xCoordS.SetFormat("dd.d")
xD = xCoordD.asString + "° "
xM = xCoordM.asString + "' "
xS = xCoordS.asString + "''"
x = xD+xM+xS

yCoordD = yCoord.truncate
yCoordM = ((yCoord - yCoordD)*60).truncate
yCoordS = ((((yCoord - yCoordD)*60)-yCoordM)*60)
yCoordSd = ((((yCoord - yCoordD)*60)-yCoordM)*60)-yCoordS

yCoordD.SetFormat("d")
yCoordM.SetFormat("dd.")
yCoordS.SetFormat("dd.d")
yD = yCoordD.asString + "° "
yM = yCoordM.asString + "' "
yS = yCoordS.asString + "''"
y=yD+yM+yS
'------------------------------

  • 0

AN1440
Участник
 
Зарегистрирован: 24 фев 2006
 
Сообщения: 75
Репутация: 0


Вернуться в Материалы сайта

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

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


(Геокруг)

© GIS-Lab и авторы, 2002-2013. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов (подробнее).