На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Городская информационная система.
    Всем здравствуйте!
    Помогите создать такую программу ... (аналог выложен на www.2gis.ru)
    Нужно чтобы была карта города, выполнялся поиск по ней.
    Какими средствами это можно реализовать? Какую литературку почитать?

    Заранее всем спасибо.
      Знаешь, если честно, то я видел такие проекты на ArcInfo и на MapInfo. Это пакеты под Windows, которые реализуют смесь именно графических данных с текстовыми, с применением "привязки" к географическим координатам и все такое...

      Короче, берется карта города и раскладывается на улицы, строения, адреса, и т.д. и т.п. Потом, вся эта беда разносится по базам данных. Скажем, БД по адресам, БД по улицам...

      Если чего-то свое еще порешишь вделать в проект, то MapInfo позволяет использовать элемент ActiveX, встраемый в свой проект.

      Под Линух есть ГИС GRASS. IMHO, самое удобное из этих чудес. Позволяет даже публиковать свои карты и данные в ИНет и работать с ними. И стоит... Сам понимаешь сколько. Все остальное -- за бабки.
        the_Shadow
        А ты случайно не одскажешь на чем лучше своять такую прогу ?
        И самое главное , мне не понятно как связать графику и БД :( ..
        Может кинешь пару линков на какое нить чтиво ?
        Заранее сенкс.
          бинарный способ поиска + индексирование БД
            majestic _абсолютно_ прав.
            Но если ты хочешь ваять такую прогу от нуля, то я тебе не завидую... ;)
            В принципе, такая прога должна:
            - поддерживать ряд слоев (каждый слой содержит что-то свое и это свое может быть как векторным, так и растровым).
            - так же необходимо предусмотреть загрузку данных из таблиц БД в слои и какое-то графическое представление их там. Причем, "представление" может быть различным, к примеру, мне нужны зоны радиопокрытия в городе, а Васе из комм. отдела -- спрос нагрузки... Вот и впрягай коня и трепетную лань... ;)
            - в смысле "ваяния" такие проги похожи на любую CAD систему или на систему векторной графики.
            - возможности -- абсолютно разные. Посмотришь сам по ссылкам.

            Итак, ссылки:
            ArcInfo -- http://www.esri.com
            MapInfo -- основной сайт -- http://www.mapinfo.com. Сайт примеров (в т.ч. и исходники с использованием MapX -- ActiveX-object -- от ВижуалВасика до Delphi. Основа -- Visual C++) -- http://testdrive.mapinfo.com/TECHSUPP/MIPROD.NSF/acde3112fe0c5dff852566b80076bf05/80ebfc7abeae776385256c60004d9505?OpenDocument&Start=1&Count=1000&Expand=26
            Это под Win.
            Под Linux. IMHO, лучшая ГИС -- GRASS. http://www.grass.org. Возможности у этой ГИС -- самые широкие.

            Enjoy!
              Позволю себе не согласиться с уважаемым the_Shadow!
              Цитата
              - так же необходимо предусмотреть загрузку данных из таблиц БД в слои и какое-то графическое представление их там. Причем, "представление" может быть различным, к примеру, мне нужны зоны радиопокрытия в городе, а Васе из комм. отдела -- спрос нагрузки... Вот и впрягай коня и трепетную лань... ;)


              Уж это-то не проблема :) Слой объектов - искусственное образование в такой системе, вызванное привязкой к графике. Фокус в гибком отображении объектов из БД в слои, формируя "их на лету" по каким-то правилам.

              Цитата
              - в смысле "ваяния" такие проги похожи на любую CAD систему или на систему векторной графики.


              Ну не похожи они!!! Это только кажется, что похожи. Если вернуться к городским ИС, то это в первую очередь не карта, а наоборот семантические данные. Потому как обычно по карте производится всевозможный анализ именно ДАННЫХ, привязанных к объектам на карте. Да и в графическом инструментарии такие системы сильно проигрывают CAD'ам, он просто не нужен.

              GRASS тоже не фонтан из Петергофа :(

                Ну, не знаю... Не эксперт я в этом деле...
                Я всего лишь имею опыт работы с cdmaPlanner'ом и, сейчас ваяю аналог именно при помощи GRASS. Задача -- расчет покрытия (RF & CDMA) и отображение их на карте, плюс, ведение справочной информации по АФУ и непосредственно базовым станциям.

                GRASS -- да, конечно не фонтан (как и большая часть именно UNIX'овского софта)... ;D

                Но!

                1. Для моих целей хватает. И, пожалуй, даже многовато...
                2. Бесплатен.
                3. Позволяет выкладывать данные на Интранет (мне это важно и нужно) сервер.
                4. Позволяет писать полноценные модули, интегрируемые с основной системой. И не на основе кривого убожества в виде ActiveX. Это я на косточках MapX приплясываю -- Visual C++ "+" этот уродец и слабенькая БД только для тестов отучили меня от мысли по поводу его использования для визуализации зон радиопокрытия.
                5. А чего хотеть от пакета, написанного армией США кроме надежности, скорости, производительности и убогого юзеровского интерфейса, который программист должен поменять на свой (или веб- или GUI, или и то и то)?

                Насчет CAD & векторных редакторов. Похожи... похожи... По крайней мере, в основе лежит обработка зачастую специфичных файлов (данных), но принципы -- те же. Я не об отрисовке пиксела или иных постулатах маш. графики. Я о том, что парадигма пользовательского интерфейса как CAD, так и ГИС примерно одинакова, но с поправкой именно на гео-информационную специфику. А для программиста, ваяющего свою ГИС (к стати, даже GRASS'а мне уже многовато), степень похожести еще выше... Это -- мое мнение и не более. Как я понимаю, это -- более узкая задача, нежели Городская Информационная Система, но... Я говорю только о том, с чем работал (работаю)...

                Успеха!
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0290 ]   [ 15 queries used ]   [ Generated: 27.04.24, 18:55 GMT ]