Кто хорошо знает Mapedit помогите пожалуйста

Основной форум пользователей GPS (Global Positioning System)
Правила форума
Для предотврашения спама первые сообщения вновь зарегистрированных пользователей проходят ручную премодерацию.
Olexa
Сообщения: 5738
Зарегистрирован: 31 авг 2001, 13:07

Re: Тогда как решить такую задачу ?

Сообщение Olexa » 22 авг 2006, 17:18

Механизм поиска и замены в Microsoft Word позволяет использовать метасимволы, что даёт возможность производить поиск и замену участков текста, содержащих переводы строки. Соответственно, с помощью этого механизма удаётся изменить один тип объектов на другой <i>в пределах одного уровня</i>. Извращение, конечно, но это работает. Для решения твоей задачи этого достаточно, разбирайся.


Olexa
Сообщения: 5738
Зарегистрирован: 31 авг 2001, 13:07

Re: Если бы все было так просто, я наверное и не спрашивал бы.

Сообщение Olexa » 22 авг 2006, 17:20

: Соответственно еще вопрос, как выделеть (что бы поменять тип) полигоны, площадь которых больше заданной. Такое извращение возможно ?

Да, в ГИС (MapInfo, ArcVIEW). Платный GPSMapEdit умеет экспортировать и импортировать их форматы.


alex44
Сообщения: 70
Зарегистрирован: 17 июн 2009, 20:09

Что-то понятно, но решение задачи всеровно не понятно.

Сообщение alex44 » 22 авг 2006, 17:37

>статистика
понял, посмотрел, что-то дает.

>Тогда сначала стоит найти хотя бы один объект и тогда видно будет.
И как-же его найти ?

>лучше искать в нулевом слое (нижнем и самом подробном) -
Когда правиш чужую карту, не известно какая фигня там в каком слое может встретится.

> contrl+0
Просто 0 вполне достаточно.

Вобщем статистика дает ответ на вопрос по наличие элементов на уровне.
Осталось научится выделять все элементы типа на уровне.

>=Все деревни городами (и они почему-то не видны на экране), и на всех уровнях, >=на 2-м от них просто рябит, вот и хочу удалить с 1-го и 2-го уровня, а с >=нуливого поднять кроме самых маленьких в 1-й, сделать деревнями кроме самых >=больших, а самые большие поднять до 2-го. По дорогам аналогично тоже немного >=с уровнями поиграться. Думаю что визуально будет лучше. Вобщем задача не >=сложная, но вот кое каких инструментов не хватает. Я думаю, это я не нахожу >=или их таки нет ?
>ой-ой, простым copy(в нулевоом уровне ) and paste (в первом) не получится.
>Тут другой способ - это распространение видимости объекта на nn-ый слой.
Это как раз понятно. Не понятно как удалить объект из уровня, если он уже отделен от родителя на нижнем уровне.

>=Соответственно еще вопрос, как выделеть (что бы поменять тип) полигоны,
>=площадь которых больше заданной. Такое извращение возможно ?
>по очереди.
не подходит. Примерно 2 трети из 95749 полигонов я буду долго по очереди выбирать.

>А это для какой цели?
Я же написал, что бы совсем маленькие, те которые сейчас города сделать деревнями и распределить их видимость по уровням в зависимости от площади.
Изначально нужно удалить все города с уровней выше нуливого.
То же самое с дорогами.


Anonym
Сообщения: 15897
Зарегистрирован: 06 фев 2017, 18:49

По-моему, проще удалить ВСЁ с уровней, выше 0-го и

Сообщение Anonym » 22 авг 2006, 17:43

сделать раскидку по уровням заново. ;-)


CAPRISE
Сообщения: 734
Зарегистрирован: 14 дек 2002, 01:15

Re: Тогда как решить такую задачу ?

Сообщение CAPRISE » 22 авг 2006, 17:44

Довольно элементарно и для этого всё есть. Просто нужно поработать.
Вырезаешь все объекты, которые тебе не нравяться и вставляешь в новый файл.
Убиваешь всё во всех слоях кроме нулевого и дальше выделяя отдельный тип радносишь до нужного тебе уровня.
Люди даже програмулину какую-то написали для автоматизации этого процесса, но сапог в бою надежней(в смысле ручки собственные). После сливаешь оба файла.


Володя.

IAGSoft
Сообщения: 1177
Зарегистрирован: 15 фев 2005, 20:25

Re: Тогда как решить такую задачу ?

Сообщение IAGSoft » 22 авг 2006, 17:47

Как вариант (чтобы не заморачиваться с Вордом) разодрать карту по уровням на несколько карт, там обработать, потом собрать в одну.


alex44
Сообщения: 70
Зарегистрирован: 17 июн 2009, 20:09

Просто редактирования текста мало.

Сообщение alex44 » 22 авг 2006, 17:54

Ну, написать маленький скрипт проще чем разбираться в монстроидальном верде.
Я просто не хотел опускаться до правки текста (которая проблем не представляет), а сделать это все всетаки в мапэдите. Там визуальнее, нагляднее и удобнее. Если никто не скажет как, тогда буду извращаться.
На самом деле не все вердом делается. Селекция по площади полигона не делается точно, это надо уже формат разбирать, и площадь считать. То есть писать достаточно конкретно. Вот я и подумал что кто-то может уже подобным занимался, и подскажет. Если не мапэдит до другие программы.

На самом деле еще куча задач возникло.
Оказалось что таки количество некоторых полигонов по слоям разное. Как проверить соответствие полигона одного слоя полигону в другом ? Хотя бы по пересечению. Собственно нужно выбрать полигоны слоя не пересекающиеся с полигонами других слоев. Если они все только в нуливом слое, то делать то что собирался. Если нет, смотреть откуда они возникли и думать что делать.


CAPRISE
Сообщения: 734
Зарегистрирован: 14 дек 2002, 01:15

Re: Просто редактирования текста мало.

Сообщение CAPRISE » 22 авг 2006, 18:03

>>>Как проверить соответствие полигона одного слоя полигону в другом ?>>>
Ни как. После компеляции все связи в слоях теряются. Т.е. у тебя(в имге) их нет. И можешь спокойно разложить карту на отдельные слои.

Володя.

Olexa
Сообщения: 5738
Зарегистрирован: 31 авг 2001, 13:07

Re: Просто редактирования текста мало.

Сообщение Olexa » 22 авг 2006, 18:09

: Ну, написать маленький скрипт проще чем разбираться в монстроидальном верде. О, ну так это замечательно :-) : Я просто не хотел опускаться до правки текста (которая проблем не представляет), а сделать это все всетаки в мапэдите. Там визуальнее, нагляднее и удобнее. Если никто не скажет как, тогда буду извращаться. Вот разве что в самом деле подеребанить карту на слои. Не помню, делается ли это корректно удалением слоёв в GPSMapEdit'е. : На самом деле не все вердом делается. Селекция по площади полигона не делается точно, По любому :-) : это надо уже формат разбирать, и площадь считать. То есть писать достаточно конкретно. Вот я и подумал что кто-то может уже подобным занимался, и подскажет. Если не мапэдит до другие программы. Площадь считается элементарно просто: складываешь послебовательно площади трапеций под каждым ребром полигона до экватора, и берёшь модуль. Если конкретно, то разница долгот следующей и предыдущей вершин (приведенная в метры для широты середины ребра), помноженная на среднее арифметическое суммы их широт. Часть площадей получится положительная (при движении на запад), часть отрицательная (при движении на восток), сумма даст площадь полигона со знаком, зависящим от направления, в котором заданы вершины (по часовой стрелке, или против). Пример скриптика с разбором формата: <A HREF="http://www.olexa.com.ua/gps/pGPSmap">ht ... pGPSmap</A> (это когда cGPSmapper ещё не умел сам резать полигоны) Исходники GPSMapEdit: <A HREF="http://www.geopainting.com/en/src.html" ... A>. <br>

alex44
Сообщения: 70
Зарегистрирован: 17 июн 2009, 20:09

Это таки один из путей. Но еще засада.

Сообщение alex44 » 22 авг 2006, 18:21

Такой вариант рассматривается, но он трудоемок.
Вообще в идеале, проверив кое что, можно оставить только нижний слой и дальше поднимать объекты по уровням. Но тут есть проблемы.
1. Как сделать проверки. Нужно убедится что на нижнем слое таки все есть. Если какие-то объекты есть только на первом слое, то их надо брать оттуда.
2. На много больше работы, придется отработать со всеми имеющимися типами объектов. Изначально я хотел поработать только с городами и некоторыми типами дорог.
3. Города есть на всех уровнях и вроде сплитованых не много, или вообще нет. Дороги некоторые уже поднял с первого. некоторые есть и на 0 и на 1, нужно удалить с 1 и те что на 0 поднять до 2 (что правильнее но уже есть проблемы), или просто с 1 поднять до 2. Если работать со всеми дорогами то возможно они на уровне 0 уже порезаны на манкие куски, и поднимать эти мелкие куски вверх не есть правильно. Полигоны тоже есть которые нужны на всех уровнях, и они на уровне 0 порезаны на мелкие, которые показывать до уровня 2 не есть правильно. В таком случае их нужно как-то собирать назад в большие куски.

Поэтому я подумал, и решил поработать только с определенными объектами, а какие-то просто не трогать. Выделить все города, переместить в отдельную карту, там работать только с городами в разных слоях, потом переместить все оставшееся назад, извращение конечно.
Я просто думал можно проще.
Сейчас попробовал, выделяю все города (95749 штук по статистике), копирую (катаю), в другом открытом редакторе возможность вставки не появляется. Отдельно выделяю несколько таких полигонов, копирую-вставляю без проблем.
Это какое-то ограничение в мапэдите ? Или что за засада ?



Ответить

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

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