Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

мысли про обустройство карты: привязка подписи и анонимные объекты

#17

Хочется обсудить такую странную идею про обустройство векторной карты.

У нас есть объекты, некоторые из которых имеют название. Нам интересно хранить и редактировать положение подписей к таким объектам.

Положние подписи -- это некоторый отдельный объект: во-первых, сейчас мы умеем редактировать подписи только в формате fig, а там это отдельные объекты. Во-вторых, мы можем захотеть иметь разные положения подписей на разных картах. Поэтому всегда приходится устраивать некоторое соответствие между подписями и объектами.

Сейчас это сделано с помощью уникальных id объектов. Причем кажется, что это единственное важная задача для этих id.

Предлагается следующая альтернативная схема:

  • все объекты анонимны, не имеют id (но могут иметь названия, разумеется).
  • информация о положении подписи хранится в следующем виде: "в точке P1 находится подпись к объекту типа "река", который расположен поблизости от точки P2".

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

Нужно еще будет сделать и обратный поиск: после рассаживания всех подписей по объектам, сгенерить новые подписи для тех объектов (или мест большого объекта), кому подписей не досталось...

Reported by Vladislav Zavjalov · October 31st, 2009 @ 03:37 AM

State: resolved
Milestone: none
Assigned to: nobody

Activity

  1. Max Ushakov
    Max Ushakov

    Ага, идея хорошая, надо попробовать!

    October 31st, 2009 @ 10:44 AM

  2. Vladislav Zavjalov
    Vladislav Zavjalov
    • State changed from new to resolved
    • Milestone order changed from 0 to 0

    сделано и уже довольно давно и успешно работает.

    October 15th, 2010 @ 03:28 PM

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.