Взаимодействие MapInfo с Surfer, присвоение координат
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 03 дек 2008, 12:57
- Репутация: 0
Взаимодействие MapInfo с Surfer, присвоение координат
МэпЭнфо начал изучать недавно, скачал необходимую лит-ру, однако, к сожалению, жизненно важные для меня вопросы в ней не освещены. (или просто пока не натыкался на такое)
При введении в МИ растрового изображения, последнее можно регистрировать. Однако работать с SQL на нем, думаю, будет проблематичным. (там же нужны цифры, как я понимаю). У меня есть определенные координаты в десятичных град, с помщью которых я строю карты (базовые) в Серфере. МИ из этих координат строит лишь скопище несодиненных между собой точек. Если экспортировать карту из Серфа через mif, программа (МИ) почему-то присваивает координатам метрические знаения. (или при перестановке проекции на long/lat убирает градусы чуть ли не в секунды- напр было 69,546 стало 0,00069546.)
Не подскжете, как решиь проблему?
При введении в МИ растрового изображения, последнее можно регистрировать. Однако работать с SQL на нем, думаю, будет проблематичным. (там же нужны цифры, как я понимаю). У меня есть определенные координаты в десятичных град, с помщью которых я строю карты (базовые) в Серфере. МИ из этих координат строит лишь скопище несодиненных между собой точек. Если экспортировать карту из Серфа через mif, программа (МИ) почему-то присваивает координатам метрические знаения. (или при перестановке проекции на long/lat убирает градусы чуть ли не в секунды- напр было 69,546 стало 0,00069546.)
Не подскжете, как решиь проблему?
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Взаимодействие MapInfo с Surfer, присвоение координат
Ваш вопрос слишком перегружен терминологией другого пакета. Через это очень трудно понять суть проблемы.
Если вам нужен растр, то причем тут SQL.
Если вектор и через MIF, то приведите заголовок MIF Файла
И конечно поточнее в чем суть проблемы.
Если вам нужен растр, то причем тут SQL.
Если вектор и через MIF, то приведите заголовок MIF Файла
И конечно поточнее в чем суть проблемы.
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 03 дек 2008, 12:57
- Репутация: 0
Re: Взаимодействие MapInfo с Surfer, присвоение координат
Нужен вектор. Более опытные специалисты в моей организации выходят из положения (в случае с построением векторных карт по координатам) при помощи шейп-файлов, т.е. сам контур делается в Серфере илм АркВью, а потом уже через шейп переносится в МИ. Меня интересовало, нельзя ли сделать то же напрямую.
Касаемо миф-файла. В заголовке значится nonearth, т.е. программа воспринимает файл как план-схему. Я, конечно, надеюсь, что с mif.ами мне не придется работать (я просто сразу про шейп не догадался), но вообще интересно, каким образом можно заставить МИ принять файл иной ГИС в той системе координат, в которой она была записана.
И, наконец, последнее. Вчера столкнулся со следующей проблемой - чтобы проводить интерполяцию в пределах заданного полигона, нужен, понятное дело, тот самый полигон. Но дело в том, что очертить граничный полигон по береговой линии немного... трудоемко. Моя векторная береговая линия, по сути, состоит из нескольких полилиний. Я пробовал скомбинировать их в одну (один объект) и ей уже разрезать шаблонный полигон. (чтобы отсечь и удалить береговую часть, оставив морскую, в пределах которой будем делать интерполяцию) Однако программа заявляет, срез проводится лишь "смежными" полилиниями. (и дело не в разрывах, все соединено и скомбинировано)
Можно ли при помощи МИ как-нибудь очертить полигон, одна из сторон которого будет в точности повторять сумму нужных полилиний? (например, береговую линию)
Касаемо миф-файла. В заголовке значится nonearth, т.е. программа воспринимает файл как план-схему. Я, конечно, надеюсь, что с mif.ами мне не придется работать (я просто сразу про шейп не догадался), но вообще интересно, каким образом можно заставить МИ принять файл иной ГИС в той системе координат, в которой она была записана.
И, наконец, последнее. Вчера столкнулся со следующей проблемой - чтобы проводить интерполяцию в пределах заданного полигона, нужен, понятное дело, тот самый полигон. Но дело в том, что очертить граничный полигон по береговой линии немного... трудоемко. Моя векторная береговая линия, по сути, состоит из нескольких полилиний. Я пробовал скомбинировать их в одну (один объект) и ей уже разрезать шаблонный полигон. (чтобы отсечь и удалить береговую часть, оставив морскую, в пределах которой будем делать интерполяцию) Однако программа заявляет, срез проводится лишь "смежными" полилиниями. (и дело не в разрывах, все соединено и скомбинировано)
Можно ли при помощи МИ как-нибудь очертить полигон, одна из сторон которого будет в точности повторять сумму нужных полилиний? (например, береговую линию)
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Взаимодействие MapInfo с Surfer, присвоение координат
По порядку:
1. система NonEarth, столь широко любимая на просторах родины, представляет собой НЕ систему координат, а план-схему. Плоскую. Расположенную что на Земле, что на Юпитере в условных системах координат. Она по определению НЕ может быть приведена ни к какой проекционной или географической системе координат. Того, кто зная параметры системы координат перводит ее в план схему надо ...
,(еле сдержался)... Если ваша программа сохраняет свой экспорт в MIF NonEarth, то все что нужно для того, что бы правильно открыть этот файл, если конечно вам известна система координат в которой вы работаете, - это открыть файл MIF в любом текстовом редакторе и заменить строку CoordSys NonEarth ... на строку вашей исходной системы координат. Самый простой способ получить эту строку, если конечно такая система координат имеется в составе MapInfo, - это создать пустой файл в нужной системе координат, а затем экспортировать его в MIF. Получившийся файл будет содержать вашу строку координат (4-я от начала файла). Ваши коллеги проделывают аналогичное превращение экспортируя в SHP, который теперь читает MapInfo, поскольку при загрузке SHP-файла MapINfo задает вопрос о том какую систему координат применить к указанному файлу. Ход верный и красивый, единственно имеет два "НО",
1) полученный файл нельзя редактировать
2) SHP - имеет моно назначение. Только точки, только линии, только полигоны. Что отличается от идеологии MapINfo, где в одной таблице можно смешивать все типы данных. Хотя я и не считаю, что это правильно - смешивать.
2. Хочу вас сразу огорчить - MapINfo крайне плохой редактор топологии. И ее логика с вашей просто не совместима.
Во-первых, резать что-то полиЛИНИЕЙ - это больное место MapInfo, ее логика отлична от доступной большинству (людей и ГИС-пакетов). Она все равно режет только полиГОНОМ. Так что не давайте ей шанс додумывать за вас как именно полиЛИНИЯ замкнется в полиГОН - режте полигоном. Так и вам и ей будет очевидно, что делать.
Во-вторых, линии объединенные в одну полилинию не обязательно содержат непрерывную линию. Не обольшайтесь. Скорее всего - это "коллекция" линий, хотя это и единый объект, но он не становится автоматически непрерывным. Хотите убедиться в этом - встаньте инструментом "рисование полигонов" на начало вашей полилинии, нажмите Ctrl (длинная дуга) или Shift (короткая дуга) и укажите на конец полилинии. Если получилась непрерывная ломаная - грань полигона, то это непрерывная грань, если не получилось, то - это набор несвязанных линий.
Превращайте все полилинии в полигоны и только ими выполняйте операцию "удалить" или "удалить внешнюю часть".
1. система NonEarth, столь широко любимая на просторах родины, представляет собой НЕ систему координат, а план-схему. Плоскую. Расположенную что на Земле, что на Юпитере в условных системах координат. Она по определению НЕ может быть приведена ни к какой проекционной или географической системе координат. Того, кто зная параметры системы координат перводит ее в план схему надо ...

1) полученный файл нельзя редактировать
2) SHP - имеет моно назначение. Только точки, только линии, только полигоны. Что отличается от идеологии MapINfo, где в одной таблице можно смешивать все типы данных. Хотя я и не считаю, что это правильно - смешивать.
2. Хочу вас сразу огорчить - MapINfo крайне плохой редактор топологии. И ее логика с вашей просто не совместима.
Во-первых, резать что-то полиЛИНИЕЙ - это больное место MapInfo, ее логика отлична от доступной большинству (людей и ГИС-пакетов). Она все равно режет только полиГОНОМ. Так что не давайте ей шанс додумывать за вас как именно полиЛИНИЯ замкнется в полиГОН - режте полигоном. Так и вам и ей будет очевидно, что делать.
Во-вторых, линии объединенные в одну полилинию не обязательно содержат непрерывную линию. Не обольшайтесь. Скорее всего - это "коллекция" линий, хотя это и единый объект, но он не становится автоматически непрерывным. Хотите убедиться в этом - встаньте инструментом "рисование полигонов" на начало вашей полилинии, нажмите Ctrl (длинная дуга) или Shift (короткая дуга) и укажите на конец полилинии. Если получилась непрерывная ломаная - грань полигона, то это непрерывная грань, если не получилось, то - это набор несвязанных линий.
Превращайте все полилинии в полигоны и только ими выполняйте операцию "удалить" или "удалить внешнюю часть".
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 03 дек 2008, 12:57
- Репутация: 0
Re: Взаимодействие MapInfo с Surfer, присвоение координат
Большое спасибо. Попробую, как вы посоветовали с mif. файлом. Серф действительно сохраняет файл как план-схему. В инструкции в МИ, которую я сейчас изучаю, есть раздел, посвященный подобному экспорту, однако там почему-то требуют вводить помимо команды Earth еще и номера проекций (которые прописаны.. в МИ? пробовал ввести какой-то - рез-т 0), и еще что-то. В общем, попробую как вы посоветовали.
О линиях. Выход с трансформацией в регионы возможен, по по степени трудоемкости ненамного отличается от тупой резки имеющимися полилиниями (по 1-й), т.к. линий много, они сильно изломаные, и нормально преобразовать их в полигон - так, чтобы этот полигон не затрагивал зону моря иногда проблематично. (да, подрисовываю свои линии, комбинирую, преобразовываю... хотя полигоны действительно режут куда "чище")))) По ходу - лучший выбор - это комбинировать. Или взять аркгисину и сделать все там, а потом уже запихнуть в мэп инфо. ))
з.ы. операции "удалить" тут не прокатят, ибо нужно, чтобы оставалась и береговая линия, которая счас полигон, и сама искомая область моря. Единственное, что можно, конечно, сделать все это в одном окне, а потом подсоединить к другому - как таковой полигон для интерполяции - это ж "временный" полигон.
О линиях. Выход с трансформацией в регионы возможен, по по степени трудоемкости ненамного отличается от тупой резки имеющимися полилиниями (по 1-й), т.к. линий много, они сильно изломаные, и нормально преобразовать их в полигон - так, чтобы этот полигон не затрагивал зону моря иногда проблематично. (да, подрисовываю свои линии, комбинирую, преобразовываю... хотя полигоны действительно режут куда "чище")))) По ходу - лучший выбор - это комбинировать. Или взять аркгисину и сделать все там, а потом уже запихнуть в мэп инфо. ))
з.ы. операции "удалить" тут не прокатят, ибо нужно, чтобы оставалась и береговая линия, которая счас полигон, и сама искомая область моря. Единственное, что можно, конечно, сделать все это в одном окне, а потом подсоединить к другому - как таковой полигон для интерполяции - это ж "временный" полигон.
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 03 дек 2008, 12:57
- Репутация: 0
Re: Взаимодействие MapInfo с Surfer, присвоение координат
*чтобы не создавать новую тему*
Подскажите, кто знает, есть ли утилиты для резки полигонов скомбинированными полилиниями? Либо утилиты, контролирующие переведение полилиний в полигон.
Просто когда я перевожу группу скомбинированный многоточечных полилиний (дигитайзерных) в полигон, эти самые полигоны получаются то "фантиком", то "веером", т.е. захватывают те области, которые я хотел оставить в покое.
p/s/ и если уж речь зашла об утилитах - как называется та, которая позволяет строить в МИ карты на основе точечных данных. Стандартными методами можно расположить множество точек в указанных координатах, но это не то, что надо. (т.е. они не будут соединены полилиниями)
з.ы. и совсем уж наглый вопрос... никто не знает, где мона взять vertical mapper? )))
Подскажите, кто знает, есть ли утилиты для резки полигонов скомбинированными полилиниями? Либо утилиты, контролирующие переведение полилиний в полигон.
Просто когда я перевожу группу скомбинированный многоточечных полилиний (дигитайзерных) в полигон, эти самые полигоны получаются то "фантиком", то "веером", т.е. захватывают те области, которые я хотел оставить в покое.
p/s/ и если уж речь зашла об утилитах - как называется та, которая позволяет строить в МИ карты на основе точечных данных. Стандартными методами можно расположить множество точек в указанных координатах, но это не то, что надо. (т.е. они не будут соединены полилиниями)
з.ы. и совсем уж наглый вопрос... никто не знает, где мона взять vertical mapper? )))
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Взаимодействие MapInfo с Surfer, присвоение координат
вопросы лучше проиллюстрировать картинкой. или файлом. или и тем и другим. желательно в двух состояниях
а) есть (было)
б) стало (надо получить)
PS Карты на основе точечных данных позволяет стоить MapInfo, поскольку все узлы - это точки. обеспечить порядок их соединения - это создание векторных данных. с момента появления точечные данные до момента получение ломанных - стоит спросить по подробнее.
а) есть (было)
б) стало (надо получить)
PS Карты на основе точечных данных позволяет стоить MapInfo, поскольку все узлы - это точки. обеспечить порядок их соединения - это создание векторных данных. с момента появления точечные данные до момента получение ломанных - стоит спросить по подробнее.
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 03 дек 2008, 12:57
- Репутация: 0
Re: Взаимодействие MapInfo с Surfer, присвоение координат
Дано: векторная карта береговой линии.
Необходимо: полигон для границ интерполяции, точной повторяющий эту самую линию.
Т.е. сначала накладываем на базовую карту полигон, потом режем и получаем примерно такое...
На примере небольшой полигон, затрагивающий не всю линию. В области острова полилиний вообще несколько штук, и каждая режет по своему. Очень неудобно. В полигоны их тоже так просто не переделаешь... да и муторно все это. (хотел представить контур разными цветами, но МИ глючит - не желает сохранять окно как картинку, пишет файл "не найден" о_О)
То, которое розовое - это пример итогового полигона. Мои коллеги делают такие в ArcView, куда проще. Потом через шейп переносят в МИ. Я бы хотел научиться (если это возможно) создавать подобные области без прыгания по программам.
Необходимо: полигон для границ интерполяции, точной повторяющий эту самую линию.
Т.е. сначала накладываем на базовую карту полигон, потом режем и получаем примерно такое...
На примере небольшой полигон, затрагивающий не всю линию. В области острова полилиний вообще несколько штук, и каждая режет по своему. Очень неудобно. В полигоны их тоже так просто не переделаешь... да и муторно все это. (хотел представить контур разными цветами, но МИ глючит - не желает сохранять окно как картинку, пишет файл "не найден" о_О)
То, которое розовое - это пример итогового полигона. Мои коллеги делают такие в ArcView, куда проще. Потом через шейп переносят в МИ. Я бы хотел научиться (если это возможно) создавать подобные области без прыгания по программам.
- Вложения
-
- Контур - базовая карта на основе данных, красный полигон - то, что требуется, серый - отрезанная часть общего полигона.
- Ura_final.jpg (27.61 КБ) 22262 просмотра
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Взаимодействие MapInfo с Surfer, присвоение координат
Я тут подумал, что есть обходной путь. Если пожертвовать какой-то минимальной частью точности, то следует сделать так:
1) создать вокруг каждой полилинии буфер пренебрежимо малой ширины
2) создать полигон-фон, который покрывает всю область интересов
3) зафиксировать его как Target-объект
4) выделить все буфера из п.1
5) провести разрез этими буферами.
Поскольку они являются полигонами, то "разрезание" произойдет без проблем.
В результате получится несколько полигонов, из которых уже можно выбрать необходимые.
1) создать вокруг каждой полилинии буфер пренебрежимо малой ширины
2) создать полигон-фон, который покрывает всю область интересов
3) зафиксировать его как Target-объект
4) выделить все буфера из п.1
5) провести разрез этими буферами.
Поскольку они являются полигонами, то "разрезание" произойдет без проблем.
В результате получится несколько полигонов, из которых уже можно выбрать необходимые.
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Наращивание полилиний.
Может и вот это поможет. В версии 8.5 (а может и раньше) есть команда меню Objects->Snap/Thin
если выделить несколько разорванных полилиний (как на картинке)

вызвать меню и задать некоторое разумное приращение конца линии (в примере - 3 км)

то в результате каждая полилиния будет дополнена еще одним сегментом к началу следующей полилинии

если теперь их объединить, то видно что объединенная полилиния имеет всего 1 секцию

- следовательно она получилась непрерывной.
если выделить несколько разорванных полилиний (как на картинке)

вызвать меню и задать некоторое разумное приращение конца линии (в примере - 3 км)

то в результате каждая полилиния будет дополнена еще одним сегментом к началу следующей полилинии

если теперь их объединить, то видно что объединенная полилиния имеет всего 1 секцию

- следовательно она получилась непрерывной.

-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 03 дек 2008, 12:57
- Репутация: 0
Re: Взаимодействие MapInfo с Surfer, присвоение координат
Спасибо, попробую. Хотя насчет буфера не очень уверен, что сработает. Что же до S/T, тут тоже вопрос - примет ли ее МИ за цельную полилинию. Дело в том, что я ради эксперимента создавал 2-3 полилинии, потом соединял их с другими с клавишей S и потом пытался резать. Рез-т - 0. Впрочем, попробовать всегда можно. Вообще с трудом верю, что специалисты-разработчики МИ могли упустить столь важный вопрос))
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Взаимодействие MapInfo с Surfer, присвоение координат
Ну почему же, они ничего не упустили. Просто реализовали алгоритм резания полилинией, в соответствии с некоторой своей задумкой. "Уши" ее видны - это то же резание "полигоном", а для этого надо придумать некоторый алгоритм замыкания полилинии в полигон. Они взяли простейший - замыкаю две крайние точки полилинии между собой. По существу это просто комбинация двух стандартных (в смысле давно встроенных в MapInfo) алгоритмов - замыкание полилинии в полигон + разрезание полигоном.
Это алгоритм принципиально отличается от всех виденных в других ГИС, там режут именно полилинией по линии прохождения границы. Но как обычно бывает в очевидных алгоритмах бывает много подводных камней. В MapInfo они не захотели продумывать такую вариативность поведения и приняли простое решение - использовать стандартные графические операции над полигонами. Они однозначны и универсальны. С их точки зрения, кому надо - тот и сам сумеет замкнуть полилинию в полигон правильным образом.
Это алгоритм принципиально отличается от всех виденных в других ГИС, там режут именно полилинией по линии прохождения границы. Но как обычно бывает в очевидных алгоритмах бывает много подводных камней. В MapInfo они не захотели продумывать такую вариативность поведения и приняли простое решение - использовать стандартные графические операции над полигонами. Они однозначны и универсальны. С их точки зрения, кому надо - тот и сам сумеет замкнуть полилинию в полигон правильным образом.
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 02 дек 2013, 10:53
- Репутация: 1
Re: Взаимодействие MapInfo с Surfer, присвоение координат
Здравствуйте!
И я, чтобы не создавать новую тему хочу спросить:
есть карта, созданная в серфер11. Топо основа, полигон работа, карта в этом полигоне залитая полу прозрачным градиентом (чтобы виделась топооснова), точки (по которым строились карты), легенда (на карте), ху подписывалась вручную и за пределами карты по внешке, т.к. карты строились в ГаусаКрюгера Пулково 42 года проекции, а картинку надо было сделать с градусами (благо тоже в ГаусаКрюгера Пулково 42). Исходные данные были в градусах (WGS84 и были конвертированны через mapinfo).
Вопрос: если я конвертирую все это многообразие в dxf, то выделяя все при конвертации теряются истинные координаты, если я выделяю только карту (чтобы узнать пределы х и у по координатам карты, а не картинки), то подписи ху и внешняя рамка не попадают туда.
Может мне создать искуственную карту в этой же карте (ну например еще один полигон), сделать break appart и увеличить лимиты карты дальше, чем внешняя рамка?
Вопрос2: а вообще легенда и все объекты, которые изначально сверху - типа текст, полилиния будут конвертироваться в заданных пределах?
Вопрос3: полупрозрачность сохранится?
Вопрос4: может есть другой формат для этой задачи? более подходящий? И я смогу убедить заказчика использовать другой формат
И я, чтобы не создавать новую тему хочу спросить:
есть карта, созданная в серфер11. Топо основа, полигон работа, карта в этом полигоне залитая полу прозрачным градиентом (чтобы виделась топооснова), точки (по которым строились карты), легенда (на карте), ху подписывалась вручную и за пределами карты по внешке, т.к. карты строились в ГаусаКрюгера Пулково 42 года проекции, а картинку надо было сделать с градусами (благо тоже в ГаусаКрюгера Пулково 42). Исходные данные были в градусах (WGS84 и были конвертированны через mapinfo).
Вопрос: если я конвертирую все это многообразие в dxf, то выделяя все при конвертации теряются истинные координаты, если я выделяю только карту (чтобы узнать пределы х и у по координатам карты, а не картинки), то подписи ху и внешняя рамка не попадают туда.
Может мне создать искуственную карту в этой же карте (ну например еще один полигон), сделать break appart и увеличить лимиты карты дальше, чем внешняя рамка?
Вопрос2: а вообще легенда и все объекты, которые изначально сверху - типа текст, полилиния будут конвертироваться в заданных пределах?
Вопрос3: полупрозрачность сохранится?
Вопрос4: может есть другой формат для этой задачи? более подходящий? И я смогу убедить заказчика использовать другой формат
-
- Гуру
- Сообщения: 5354
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Взаимодействие MapInfo с Surfer, присвоение координат
AutoCAD Civil 3D
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 02 дек 2013, 10:53
- Репутация: 1
Re: Взаимодействие MapInfo с Surfer, присвоение координат
AutoCAD Civil 3D это что? формат такой? (я сейчас не дома соответственно не возле серфер)
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость