Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];

Вниз

Географическая карта, масштабы и поддержка дальнейших усложнений   Найти похожие ветки 

 
Николай_Москва   (2006-09-28 14:26) [0]

Привет!
Думал поместить этот вопрос в Игры, но не стал, почитав ветку форума - все же не та тема. Хочу спросить по поводу работы с картами (никакие библиотеки ГИС пока не использую), пока требуется реализовать простую задачку, но потом сразу будет усложнение. Именно из-за него и спрашиваю совета - чтобы вначале заложить правильную основу.
Итак:
Есть набор разнотипных объектов в системе координат WGS84 (широта-долгота). Я их успешно перевожу в глобальные прямоугольные (для широкой зоны, учитывая средний меридиан и т.д.) - здесь точно все правильно.
Далее - пока облегченный кусок программы - между некоторыми такими объектами по прямоугольным координатам (с переводом их в локальный или экранные) строю некоторые геометрические фигуры, вывожу их пока на Image. Как мне стоит реализовать процедуру изменения масштаба изображения, чтобы не просто написать - в одном пикселе столько-то метров, а готовится к привязке к картам различного масштаба. Например, карта будет "в 1 см - 5000м" - я должен соблюсти такой масштаб.
Сложность в том, что как только прототип заработает, его потребуется серьезно усложнить, поэтому от продуманности таких вопросов зависит многое. Потребуется ввести номенклатуры карт, сделать динамическое изменение масштаба, распечатку получившегося результата (потом геометрические фигуры будут распечатаны на прозрачной пленке и наложены на карту), наложение. Плюс будет предусмотрена возможность "подложить карту под изображение" уже в электронном виде, указав точку привязки и скоректировав масштаб.
Я не думаю, что текущая моя реализация удачно предусмотрела все эти проблемы (ввод определенного масштабного коэф., на который умнозжаются x и y при выводе на image), так что, если кто подскажет статьи или альтернативные методы (с заделом на будущее) решения такой задачки, то буду благодарен.


 
Ketmar ©   (2006-09-28 14:31) [1]

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


 
zamtmn ©   (2006-09-28 14:36) [2]

вобще для таких целей есть спец среды под которые можно на delphi писать, например mapinfo.
а если хочется самому всё рисовать, я бы использовал opengl


 
oxffff ©   (2006-09-28 14:45) [3]

to Николай_Москва

Есть GDI+, есть DIRECT3D.

В чем собственно сложности?


 
@!!ex ©   (2006-09-28 18:34) [4]

У меня была похожая задача.
Сейчас проект успешно развивается...
Поддерживается куча фич, в том числе земной шарик с реальным рельефом. :))
Проект начался в начале года...
Могу сказатЬ, что ООП - рулит. :)
Благодаря правильно продуманной архитектуре(которая стала продуманной после 5 переписываний за 2 первых месяца разработки. :) ) сейчас проект можно изменять и дополнять минимумом кода и исправлений, ничего при этом не ломая(ИМХО самое главное. :)) )
Весь вывод через OpenGL.


 
Ketmar ©   (2006-09-28 18:37) [5]

>[4] @!!ex(c) 28-Sep-2006, 18:34
>архитектуре(которая стала продуманной после 5
>переписываний за 2 первых месяца разработки. :) )
вот. и я об этом же. %-)


 
@!!ex ©   (2006-09-28 18:39) [6]


> Ketmar ©   (28.09.06 18:37) [5]

eXtrime programming - rullezzzz forever.... :))


 
Ketmar ©   (2006-09-28 18:42) [7]

>[6] @!!ex(c) 28-Sep-2006, 18:39
>eXtrime programming - rullezzzz forever.... :))
не знаю, не проникся как-то. старый, наверное...


 
@!!ex ©   (2006-09-28 18:49) [8]


> Ketmar ©   (28.09.06 18:42) [7]

Внуки уже программируют? :)

Вообще согласен, просто многое их XP лично мне симпотично.
Просто не вижу нормальных альтернатив.

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


 
Ketmar ©   (2006-09-28 18:56) [9]

Удалено модератором


 
oxffff ©   (2006-09-29 10:41) [10]


> @!!ex ©   (28.09.06 18:39) [6]
>
> > Ketmar ©   (28.09.06 18:37) [5]
>
> eXtrime programming - rullezzzz forever.... :))


Во первых Extreme, а не Extrime.

@!!ex ©
Подчеркну, я имею ввиду применение XP в проектах, которые пишет один-два человека...
Понятно что в проектах где занято много людей и есть текучка XP не рулит вообще....

Сколько вы прочитали книг про XP?
Вам нужно внимательно перечитать Кент Бека и Мартина Фаулера, особенно прочитать про размер команды и др. техники XP.

Не думайте только, что я ярый сторонник XP.

Кент Бек, Мартин Фаулер


 
oxffff ©   (2006-09-29 10:49) [11]

@!!ex ©

Благодаря правильно продуманной архитектуре(которая стала продуманной после 5 переписываний за 2 первых месяца разработки. :) ) сейчас проект можно изменять и дополнять минимумом кода и исправлений, ничего при этом не ломая(ИМХО самое главное. :)) )

Не вы случайно писали DOOM 3  или Far Cry?
У вас есть шейдеры?


 
Evgeny V ©   (2006-09-29 13:54) [12]

По теме мне все таки видится MapInfo (для геокодирования и показа пользователю) или MapX (или MapXTreme) (для показа карты пользователю), или их связка. Продукты платные, но указанные в сабже вопросы решают. Достаточно просто работать с ними из дельфи. Но если таки хочется написать свое, глянуть как сделано у них будет не лишне, можно скачать триал версию www.mapinfo.com.


 
DVM ©   (2006-09-29 17:21) [13]

Еще могу посоветовать WebMap (www.resident.ru). Яндекс карты на нем работает. Мы тоже приспособили его для своих целей, правда повозиться пришлось из за плохой документации.


 
@!!ex ©   (2006-09-29 17:30) [14]

oxffff ©   (29.09.06 10:41) [10]
Достаточно я прочитал книг по XP. :))
Вашу рекомендацию приму к сведению.

oxffff ©   (29.09.06 10:49) [11]
Нет. Мы писали Maelstrom.
Не очень горжусь тем что работал над этим проектом, он мне кажется провальным(ПРавда узнаем мы это не раньше февраля 2007), хотя в журналах о нем ща пишут много хорошего.....
Но очень горжусь тем, что поработал в такой команде, как KD-Lab/KDV Games.

И да, в моем проекте таки есть шейдеры. :))


 
oxffff ©   (2006-09-29 21:35) [15]

Что меня насторожило в вашем высказывании. Это

>благодаря правильно продуманной архитектуре.

Вы знаете могу сказать за себя.
Думаю, чтобы правильно продумать архитектуру невозможно, не посвятив этому всю жизнь. А в конце жизни сказать вот идеал.

Один из принципов XP это тестирование и "небоязнь" коренным образом переделать архитектуру.
Постоянный рефакторинг неотъемлемая часть большинства современных проектов.
Постоянный рефакторинг это неотъемлемая часть XP.

За исключением таких проектов как пуск ракет, контроль трубопроводов, медицина, космос и др.

Я не думаю, что можно переписать проект 5 раз за 2 месяца и остановиться.
Может и возможно, если есть опыт 5 лет.

Могу сказать за себя. Ложусь спать с уверенностью, что вот идеал.
Просыпаюсь и новые идеи.
Пройдет время и потребуется глубокий рефакторинг.

Я ни в коем случае не хочу вас оскорбить.
Мне тоже, иногда хочется верить в то, что я достиг идеала.
Проходит время и я понимаю, что ошибался.


 
@!!ex ©   (2006-09-30 10:14) [16]


> oxffff ©   (29.09.06 21:35) [15]

Ба, уважаемый, вы о чем?
Где я говорил, что достиг идеала? :))
Я говорю, что архитектура в данный момент достаточна продумана для того чтобы:

> проект можно изменять и дополнять минимумом кода и исправлений,
>  ничего при этом не ломая(ИМХО самое главное. :)) )

Об идеале речи не идет.
Речь идет о правильной(насколько это возможно в моем случае) архитектуре.
Ферштейн? :))

P.S.
Опыт программирования 11 лет..... Но программирования по настоящему и серьезно, всего где то 4.... Могу предположить, что я немножко владею информацией о том, как надо писать приложения, чтобы их было можно быстро и легко переписывать. :))

P.P.S.
Идеала не существует.
Всегда есть компромисс, между временем разработки, скоростью работы и универсальностью.


 
oxffff ©   (2006-09-30 11:34) [17]

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

Да вы и сами ответили. Приведу вашу цитату

"как надо писать приложения, чтобы их было можно БЫТРО И ЛЕГКО ПЕРЕПИСЫВАТЬ". Переписывать?

Вы правильно заметили, что придет время их переписывать.


 
@!!ex ©   (2006-09-30 11:49) [18]

Ну так я и не отрицаю что часто нужно что-то переписывать.
Находить другие связи, более быстрые, менее затратные и объемные.
Но одно дело когда для маааленького дополнения приходится перелопачивать кучу кода, а друго - добаить два метода и десяток переменных.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.05 c
15-1161339330
ArtemESC
2006-10-20 14:15
2006.11.12
Язык, который всем нравится...


6-1150107720
RealGanj
2006-06-12 14:22
2006.11.12
UDP пакет


8-1144405028
SL777
2006-04-07 14:17
2006.11.12
Cовмещение цветов при перетаскивании TImage


1-1159545838
фыва_олдж_фыва
2006-09-29 20:03
2006.11.12
формы в длл


11-1137965443
Flea
2006-01-23 00:30
2006.11.12
Hottrack для TabControl





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский