Добавление в таблицу колонок координат точек
-
- Участник
- Сообщения: 65
- Зарегистрирован: 02 сен 2010, 22:44
- Репутация: 4
- Откуда: Нижний Новгород
Добавление в таблицу колонок координат точек
подскажите пожалуйста как в таблицу, состоящую только из точечных объектов добавить 2 колонки в которых автоматически бы были прописаны координаты этих объектов?
-
- Интересующийся
- Сообщения: 21
- Зарегистрирован: 08 фев 2011, 22:50
- Репутация: 1
- Откуда: Астрахань
Re: Добавление в таблицу колонок координат точек
Меню Программы>Каталог программ>Записать координаты объекта (Coordinate Extractor)
-
- Участник
- Сообщения: 65
- Зарегистрирован: 02 сен 2010, 22:44
- Репутация: 4
- Откуда: Нижний Новгород
Re: Добавление в таблицу колонок координат точек
Большое спасибо, Колонки с координатами появились,только никак не могу разобраться, что сделать,чтобы значения отображались,как Градусы минуты секунды с соответствующими обозначениями?
-
- Интересующийся
- Сообщения: 21
- Зарегистрирован: 08 фев 2011, 22:50
- Репутация: 1
- Откуда: Астрахань
Re: Добавление в таблицу колонок координат точек
Меню Программы>Каталог программ>Пересчет (Degree Converter)
-
- Участник
- Сообщения: 65
- Зарегистрирован: 02 сен 2010, 22:44
- Репутация: 4
- Откуда: Нижний Новгород
Re: Добавление в таблицу колонок координат точек
Я имею в виду, чтобы в колонках были не такие значения (9 096 353,34), а вот именно такие (44° 41' 12,26148"). Возможно ли это ?????
-
- Интересующийся
- Сообщения: 21
- Зарегистрирован: 08 фев 2011, 22:50
- Репутация: 1
- Откуда: Астрахань
Re: Добавление в таблицу колонок координат точек
Вот источник http://support.microsoft.com/kb/213449
Для пересчета нужно экспортировать таблицу Таблица>Экспорт в dbf (у меня именно с ним вышло), в экселе произвести все операции как прописано в источнике и сохранить таблицу как файл xls. В Mapinfo он легко откроется и ваши колонки будут иметь вид ГМС в стандартном исполнении.
Для пересчета нужно экспортировать таблицу Таблица>Экспорт в dbf (у меня именно с ним вышло), в экселе произвести все операции как прописано в источнике и сохранить таблицу как файл xls. В Mapinfo он легко откроется и ваши колонки будут иметь вид ГМС в стандартном исполнении.
-
- Участник
- Сообщения: 65
- Зарегистрирован: 02 сен 2010, 22:44
- Репутация: 4
- Откуда: Нижний Новгород
Re: Добавление в таблицу колонок координат точек
Огромнейшее спасибо!
-
- Участник
- Сообщения: 65
- Зарегистрирован: 02 сен 2010, 22:44
- Репутация: 4
- Откуда: Нижний Новгород
Re: Добавление в таблицу колонок координат точек
Я так понял в Microsoft Visual Basic, каждую координату нужно вбивать отдельно??? Я правильно понимаю?
-
- Интересующийся
- Сообщения: 21
- Зарегистрирован: 08 фев 2011, 22:50
- Репутация: 1
- Откуда: Астрахань
Re: Добавление в таблицу колонок координат точек
Ничего отдельно вбивать не нужно. Есть колонка B с десятичными координатами, берет начало с ячейки B2, есть колонка С, где будут ГМС, берет начало с ячейки C2. После того как вы создали модуль, возвращаетесь в excel и в ячейку C2 вписываете =Convert_Degree(B2),нажимаете ввод. Затем растягиваете формулу =Convert_Degree(B2) вниз на всю колонку С.
=Convert_Degree(B3)
=Convert_Degree(B4)
=Convert_Degree(B5)
=Convert_Degree(B6)
.....
И все, колонка С имеет ГМС.
Трогать код Visual Basic не надо.
=Convert_Degree(B3)
=Convert_Degree(B4)
=Convert_Degree(B5)
=Convert_Degree(B6)
.....
И все, колонка С имеет ГМС.
Трогать код Visual Basic не надо.
- Institor
- Активный участник
- Сообщения: 243
- Зарегистрирован: 22 апр 2011, 08:10
- Репутация: 27
- Откуда: Хабаровск
Re: Добавление в таблицу колонок координат точек
Есть еще программа mapinfo "Пересчет градусов" (входит в стандартный набор). Правда она выводит в одну колонку с разделителями, без обозначений (°, ' , ")
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Добавление в таблицу колонок координат точек
а зачем все эти мучения?
просто написать что-то типа (foo - исходные градусы десятичные)
Format$(int(foo),"#") + "o"+
Format$(int(60*(foo-int(foo))),"#") +"'"+
Format$(((foo-int(foo))-int(60*(foo-int(foo)))/60)*3600,"#.#####")+""""
религия не позволяет?
P.S. это на скорую руку, могут быть очепятки ...
просто написать что-то типа (foo - исходные градусы десятичные)
Format$(int(foo),"#") + "o"+
Format$(int(60*(foo-int(foo))),"#") +"'"+
Format$(((foo-int(foo))-int(60*(foo-int(foo)))/60)*3600,"#.#####")+""""
религия не позволяет?
P.S. это на скорую руку, могут быть очепятки ...
- Institor
- Активный участник
- Сообщения: 243
- Зарегистрирован: 22 апр 2011, 08:10
- Репутация: 27
- Откуда: Хабаровск
Re: Добавление в таблицу колонок координат точек
Это гениально!
-
- Интересующийся
- Сообщения: 21
- Зарегистрирован: 08 фев 2011, 22:50
- Репутация: 1
- Откуда: Астрахань
Re: Добавление в таблицу колонок координат точек
Да. Красивое решение. Я предполагал, что все это можно было сделать используя строковые функции Mapinfo, но так и недопетрил как это осуществить. Сразу видно программист постарался.
-
- Участник
- Сообщения: 65
- Зарегистрирован: 02 сен 2010, 22:44
- Репутация: 4
- Откуда: Нижний Новгород
Re: Добавление в таблицу колонок координат точек
Объясню всё подробнее. У меня имеются точки, я при помощи программы "Записать координаты объекта" добавляю 2 колонки с координатами в свою таблицу. Эти координаты отображены в метрах(9596880,25532872-это координата широты одной точки), а мне же как минимум для того чтобы воспользоваться Visual Basic нужно иметь координаты в десятичных градусах(52,70559554), в таблице MapInfo их в таком виде отобразить не получается, вот и в итоге тупик.
-
- Интересующийся
- Сообщения: 21
- Зарегистрирован: 08 фев 2011, 22:50
- Репутация: 1
- Откуда: Астрахань
Re: Добавление в таблицу колонок координат точек
Можно еще вот так унифицировать выражение.
Format$(int(foo),"#") + Chr$( 176 ) +
Format$(int(60*(foo-int(foo))),"#") +Chr$( 146 ) +
Format$(((foo-int(foo))-int(60*(foo-int(foo)))/60)*3600,"#.#####")+Chr$( 148 )
Format$(int(foo),"#") + Chr$( 176 ) +
Format$(int(60*(foo-int(foo))),"#") +Chr$( 146 ) +
Format$(((foo-int(foo))-int(60*(foo-int(foo)))/60)*3600,"#.#####")+Chr$( 148 )
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей