Конвертор Ингит - Версия 1.2.

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

Re: "Ключик" сделаем, а о полигонах ты подумай...

Сообщение columb » 24 апр 2002, 23:12

>Как полигоны не соответствующие представлению Garmin, перевести в их формат.
Радость пока только в том, что изначально их точки не в Географических
координатах, т.е. не Float. И можно достаточно долго строить в памяти
образы (и резать бублики) - это не повлияет на скорость работы.

В эту сторону уже размышлял. Чем больше, тем сумрачнее все становилось. Теоретически, Олехина идея должна прокатить. Практически резать абстрактный полигон без мапбазика даже напополам по прямой, задача не из самых простых.

>Но если даже не освобождать пямять вообще, то можно загрузить
допустим все 36 листов N-37-xx (на место в памяти это не влияет :-)))
что наводит на мысли о возможности склейки.
Дык может, черт с ней, с этой австралией. Главное, чтобы более 50М не требовалось :)).




Kerg
Сообщения: 2878
Зарегистрирован: 22 авг 2000, 20:23

Re: А "склеивать" карты точно будет надо...

Сообщение Kerg » 25 апр 2002, 12:16

>В эту сторону уже размышлял. Чем больше, тем сумрачнее все становилось.
>Теоретически, Олехина идея должна прокатить. Практически резать абстрактный >полигон без мапбазика даже напополам по прямой, задача не из самых простых.

Ну вроде в Ингите полигоны не столь абстрактны.
Во всяком случае у "дыркок" есть признак.

Построив образ, пройтись по "дыркам" и резануть их по кратчайшему пути к "внешнему контуру" - не великая проблема.

Другое дело резать "внешние контуры", если они > 255 точек,
но на первый взгляд, в Ингите так нарисованы только леса.

Посматривать в ручную лениво, надо заставить програмульку поискать,
что еще такое есть...

>что наводит на мысли о возможности склейки.
>Дык может, черт с ней, с этой австралией.

А "клеить" придется вот что: Если формировать точки для GPS
из "Полигонов населенного пункта", то бывает что такой полигон
попадает на соседние листы. И получается из одного населенного
пункта - 2, а то и 3. :-)))

Сергей.


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

Re: А "склеивать" карты точно будет надо...

Сообщение Olexa » 25 апр 2002, 12:54

: >В эту сторону уже размышлял. Чем больше, тем сумрачнее все становилось.
: >Теоретически, Олехина идея должна прокатить. Практически резать абстрактный
: >полигон без мапбазика даже напополам по прямой, задача не из самых простых.
:
: Ну вроде в Ингите полигоны не столь абстрактны.
: Во всяком случае у "дыркок" есть признак.
:
: Построив образ, пройтись по "дыркам" и резануть их по кратчайшему пути к "внешнему контуру" - не великая проблема.

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

: Другое дело резать "внешние контуры", если они > 255 точек,
: но на первый взгляд, в Ингите так нарисованы только леса.
:
: Посматривать в ручную лениво, надо заставить програмульку поискать,
: что еще такое есть...

Для постоты можно свести задачу к предыдущей: после приклеивания дырок к внешнему полигону (в результате чего будет получен один простой полигон, но с возможно большим количеством вершин), пока количество вершин полигона больше 255, искать такую пару вершин, что отрезок с концами в них, направлен внутрь полигона относительно каждой из них, не пересекает границу полигона в иных точках, кроме концов, отсекает от полигона часть с наибольшим количеством вершин, не превышающим 255, и имеет наименьшую длину.

Этот алгоритм позволяет не заниматься разрезанием полигона по вертикали/горизонтали, но есть риск, что объект окажется слишком большим, чтобы уместиться в TRE своего уровня. Так что до этого всё равно прийдётся добраться (я планирую заняться этим после праздников). Этот алгоритм также не так быстр, как порезка полигона по вертикали/горизонтали, но если писать его на C, а не на MapBasic, как знать, может, его скорость и будет приемлема.

Если необходимо, могу описать, как выяснить, направлен ли отрезок от вершины полигона внутрь или наружу его.

: >что наводит на мысли о возможности склейки.
: >Дык может, черт с ней, с этой австралией.
:
: А "клеить" придется вот что: Если формировать точки для GPS
: из "Полигонов населенного пункта", то бывает что такой полигон
: попадает на соседние листы. И получается из одного населенного
: пункта - 2, а то и 3. :-)))

Разве что для получения точки ≈ центроида региона этого населённого пукта (чтобы этот населённый пункт на карте был один, а не два или три). В остальном, во-первых, карту всё равно нужно будет резать на куски для загрузки в GPS по частям, а во-вторых для данного конкретного примера нет ничего страшного в том, что регион населённого пункта будет состять из нескольких частей, поскольку регион населённого пункта всё равно может прийтись резать, если в нём много вершин, или если он состоит из нескольких не связанных регионов.


dark1st
Сообщения: 2001
Зарегистрирован: 17 дек 2001, 16:08

есть идея (+)

Сообщение dark1st » 25 апр 2002, 13:07

сделать общую карту, большую и толстую :), а прога конвертер сама все порежет.

Alecs

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

Re: есть идея (+)

Сообщение Olexa » 25 апр 2002, 13:29

А пупок у проги не развяжется? :)


Kerg
Сообщения: 2878
Зарегистрирован: 22 авг 2000, 20:23

Пупки бывают разные... :-))) (+)

Сообщение Kerg » 25 апр 2002, 16:30

:А пупок у проги не развяжется? :)

Вот к примеру, своей загрузил 0-36-xx, 0-37-xx, N-36-xx, N-36-xx (x 36 лист), итого сразу 144 карты Ингит, и задаю поиск, сортирую по объектам (атрибутам), "средние точки" населенных пунктов нахожу, дороги
с одинаковыми названиями соединяю...

И собственно "тормозов" не наблюдаю. :-)

Сергей.


dark1st
Сообщения: 2001
Зарегистрирован: 17 дек 2001, 16:08

не должен :) (-)

Сообщение dark1st » 25 апр 2002, 17:52

.

Alecs

Ответить

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

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