Страница 1 из 11

Проект wxGIS

Добавлено: 26 апр 2010, 21:17
Дмитрий Барышников
О проекте

Проект wxGIS был начат летом 2009 г.
Изначально, целью проекта было разобраться с некоторыми аспектами работы ArcGIS (перепроецирование "на лету", быстрое отображение растров, представление информации в ГИС и др.).
Для начала было принято решение о реализации аналога ArcCatalog - wxGISCatalog. В качестве основы (по функциональности и программной модели) была взята ArcGIS 9.0 (!). Для реализации поддержки форматов ГИС - выбрана библиотека GDAL.
Проект размещается по адресу http://code.google.com/p/wxgis/
В начале арпреля зарелизил первую альфа версию (http://wxgis.googlecode.com/files/wxGISCatalog.7z) с основной целью - поделиться наработками с сообществом.
Пока у меня нет четкого "плана развития" проекта (проект развиваю в одиночку).
Кроме этого, если в процессе реализации обнаруживаются ошибки в GDAL, то не "обыгрываю" их в своем коде, а разрабатываю исправления к GDAL (это более медленно, но код становится более красивым, а результаты доступны в других программах использующих эту библиотеку).

Что реализовано в альфа версии wxGISCatalog'а
  • Интерфейс близкий к ArcGIS Catalog (есть возможность настроить интерфейс "под себя")
  • Поддержка векторного формата ESRI Shape file
  • Поддержка растровых форматов: tiff, img, bmp, jpeg, png, til
  • Поддержка таблицы dbf
  • Отображение поддерживаемых форматов в дереве и списке каталога
  • Удаление объектов каталога (убивает мимо корзины(!), как это реализовано в GDAL)
  • Визуализация в окне карты объектов каталога
  • В качестве контейнеров для объектов могут выступать папки, архивы(только zip), подключения
  • Свой формат описания проекции spr на основе GDAL WKT с соответствующим корневым контейнером для представления данных о проекциях
Интерфейс wxGISCatalog'а
wxGIS(catalog)1.jpg
Интерфейс wxGISCatalog
wxGIS(catalog)1.jpg (81.4 КБ) 32073 просмотра
остальные здесь (http://code.google.com/p/wxgis/wiki/ScreenShots)

Ближайшие планы

В связи с необходимостью экспорта из/в форматов ESRI Shape, MapInfo, KML и DXF сейчас добавляю эти форматы и делаю функцию экспорта (одиночного и пакетного).
Еще планирую добавить механизм работы с инструментами (аналогично ArcToolbox).

Кроме того существует много мелких задач: вывод свойств объектов, свойств программы, перенос/копирование объектов, идентификация в окне карты, создание новых данных, поддержка WFS и WMS, перевод интерфейса.

Вопросы перевода интерфейса обсуждаются здесь viewtopic.php?f=14&t=5770&start=0

Re: Проект wxGIS

Добавлено: 27 апр 2010, 04:59
Максим Дубинин
1. Вы рассматривали возможность присоединиться к проекту GeoApt (геобраузер для QGIS)? Или наоборот, попробовать перетянуть его на свою сторону, мне кажется это возможно. Было бы здорово увидеть более тесную интеграцию с QGIS.
2. Как насчет кроссплатформенности?
3. Мне кажется в геобраузере создание данных и перенос/копирование ни к чему.

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

Re: Проект wxGIS

Добавлено: 27 апр 2010, 08:40
Дмитрий Барышников
sim писал(а):1. Вы рассматривали возможность присоединиться к проекту GeoApt (геобраузер для QGIS)? Или наоборот, попробовать перетянуть его на свою сторону, мне кажется это возможно. Было бы здорово увидеть более тесную интеграцию с QGIS.
Изначально, разработка wxGIS была тестом ГИС технологий. Присоединение к проекту GeoApt скорее всего невозможно, т.к. там идет разработка на Python и QT. Однако изменения вносимые мной в GDAL скорее всего войдут и в этот проект.
По поводу "попробовать перетянуть его на свою сторону" - здесь есть одно противоречие - wxGIS разработана при помощи wxWidgets, а QGIS и GeoApt - QT. Эти кроссплатформенные библиотеки (wxWidgets и QT) являются своего рода конкурентами.
А вот с интеграцией с QGIS проблем не вижу - т.к. QGIS позволяет принимать файлы из проводника (drag&drop), то и из wxGISCatalog'а сделать это не составит труда. Другое дело, вопрос организации данных. Например, у меня используется в качестве базы для векторных форматов OGRLayer - единый интерфейс, за которым может быть скрыт любой формат данных (даже нет разделения по типу геометрии). В QGIS выбран в качестве базового шейп файл - остальные в него импортируются (если я не прав - поправте). Здесь могут быть сложности. Вообще, наверное, имеет смысл вернуться к этой теме после первого релиза (там как раз встанет вопрос выбора пути развития получившейся программы).
sim писал(а): 2. Как насчет кроссплатформенности?
Все используемые компоненты кроссплатформенные. В будущем планирую откомпилировать под Linux.
sim писал(а): 3. Мне кажется в геобраузере создание данных и перенос/копирование ни к чему.
Здесь несколько моментов:
1. ArcCatalog (взятый в качестве "эталона" функциональности) это делает.
2. Основное назначение ГИС каталога, как раз и есть - создание и управление данными (это же не ГИС вьювер).
3. Есть источники данных, которые из обычного проводника не добраться - базы данных, веб сервисы. В wxGISCataloge это будет все интегрировано в едином интерфейсе.

Re: Проект wxGIS

Добавлено: 27 апр 2010, 08:47
nadiopt
возьмем потестить

Re: Проект wxGIS

Добавлено: 27 апр 2010, 08:55
Voltron
Проект интересный.
Поддерживаю вопрос о возможном объединении усилий с GeoApt. Я понимаю, что проекты разные, используют разный подход и ЯП, но цели очень близки.
Бегло просмотрел исходники. Насколько понимаю, в данный момент возможна сборка исключительно в MS VisualStudio, хотя интерфейс построен на кроссплатформенной библиотеке wxWidgets (кстати почему именно wxWidgets?).
Интеграция с QGIS, конечно, хорошо, но ведь есть и другие ГИСы. Ориентироваться только на QGIS не очень правильно ИМХО. А вот перенос данных нужен обязательно, особенно если он учитывает особенности этих самых данных. Т.е. при переносе шейпа переносятся все файлы, связанные с ним (*.prj, *.shp, *.shx, *.dbf...)

P.S.: ну вот, пока писал на часть вопросов уже ответили

Re: Проект wxGIS

Добавлено: 27 апр 2010, 09:27
Дмитрий Барышников
Voltron писал(а):Насколько понимаю, в данный момент возможна сборка исключительно в MS VisualStudio, хотя интерфейс построен на кроссплатформенной библиотеке wxWidgets (кстати почему именно wxWidgets?).
Под Linux буду делать в Code::Blocks (В визуальной среде удобнее).
По поводу wxWidgets - долго гуглил и сравнивал различные библиотеки. Выбор остановил на wxWidgets из-за натвности элементов, понятной мне схеме разработки (QT с ее промежуточным уровнем пред компиляции не совсем нравится, да и от QT та же Opera ушла в конце концов). Вообще в интернет много "холиваров" по этому поводу. Поэтому предлагаю принять как данность.
Voltron писал(а): А вот перенос данных нужен обязательно, особенно если он учитывает особенности этих самых данных. Т.е. при переносе шейпа переносятся все файлы, связанные с ним (*.prj, *.shp, *.shx, *.dbf...)
Именно так и предполагается.

Re: Проект wxGIS

Добавлено: 27 апр 2010, 18:26
Максим Дубинин
по большому счету, мне лично все равно QT или wxWidgets

Что касается меня, я готов начать интенсивно тестировать и репортить баги и замечания, как только можно будет слои (шейпы, растры) перетаскивать в QGIS (прошу прощения за наглость), чтобы сразу применить к делу.

Под "созданием" мне кажется мы говорим о разных вещах, меня смутил "перенос объектов", т.е. линий/точек/полигонов (создание объектов), мне кажется этого в каталоге не нужно. Но я согласен, что создание слоёв это функция каталога.

Re: Проект wxGIS

Добавлено: 27 апр 2010, 19:14
Voltron
Немного попиарил wxGIS на официальном форуме QGIS: там как раз был вопрос про похожие инструменты. Народ ждет продолжения
I tried wxGISCatalog which is nice - it looks like a copy of ArcCatalog, but still does not have basic file operations (only delete) but it is alpha, so I will be patient :D

Re: Проект wxGIS

Добавлено: 27 апр 2010, 19:33
Дмитрий Барышников
sim писал(а): Что касается меня, я готов начать интенсивно тестировать и репортить баги и замечания, как только можно будет слои (шейпы, растры) перетаскивать в QGIS (прошу прощения за наглость), чтобы сразу применить к делу.
Механизм drag&drop в QGIS файлов завязан и на перенос/копирование объектов в самом wxGISCatalog. После решения вопроса экспорта займусь этим.
Еще забыл упомянуть - при отображении растров не выполняется растяжка и подстройка цветовой карты (тоже в планах).
Voltron писал(а):Немного попиарил wxGIS на официальном форуме QGIS: там как раз был вопрос про похожие инструменты. Народ ждет продолжения
Спасибо за поддержку!

Re: Проект wxGIS

Добавлено: 03 май 2010, 00:06
Дмитрий Барышников
Выложил бету http://wxgis.googlecode.com/files/wxGIS ... .1.beta.7z
Добавлено:
1. Поддержка MapInfo tab, mif/mid
2. Поддержка KML
3. Поддержка DXF
4. Экспорт между поддерживаемыми форматами (поддеживается пакетный экспорт)
5. Drag&drop в QGIS и MapInfo (в принципе даже в виндовый проводник можно бросить, но тогда он его перенесет/скопирует, почемуто-то d&d не работает с ArcMap, а из проводника d&d работает)

При Drag&drop в QGIS шейпа из архива - он (!) открылся
qgis_zip.jpg
Шейп из архива
qgis_zip.jpg (79.81 КБ) 31986 просмотров
Просьба всех кто пользуется моей программой указывать на недочеты и ошибки. Если сбои с данными - присылайте файлы или их части для проверки под отладчиком (почта есть в COPYING_EN).

Re: Проект wxGIS

Добавлено: 03 май 2010, 00:27
Максим Дубинин
спасибо за быструю реакцию
замечания по мелочи
1. Список шейпов, выбрали один, переключились в preview - показался, нажимаем List - Selection cannot be viewed (а я ожидал возвращения в список папок-слоев).
2. У меня в Catalog почему-то нет сетевых дисков.
3. Сортировка по Type не работает

Re: Проект wxGIS

Добавлено: 03 май 2010, 08:27
bim2010
Загрузил http://gis-lab.info/data/gns/gns-shp-win-rs.7z в бету
Жму "Zoom in" . Попадаю в 1:0.00 Назад "zoom out" не получается. Изменить масшаб с помощью колеса мыши тоже не получается. Стопорит в 1:0.00. Помогает только Full extent.
А вообще - класс !

Re: Проект wxGIS

Добавлено: 03 май 2010, 12:23
Дмитрий Барышников
sim писал(а): 1. Список шейпов, выбрали один, переключились в preview - показался, нажимаем List - Selection cannot be viewed (а я ожидал возвращения в список папок-слоев).
Это сделано как в ArcCatalog, правда там страница информации о шейпе выводится
arccatlog_obj_view.jpg
arccatlog_obj_view.jpg (70.22 КБ) 31968 просмотров
Пока не знаю стоит ли менять поведение (возможно ли это с текущей логикой приложения). Такая прыготня тоже может раздражать, особенно у составных источников - KML, БД и др.
sim писал(а): 2. У меня в Catalog почему-то нет сетевых дисков.
Для подключения дисков (папок) используйте кнопку "connect folder".
add_conn.jpg
Добавить подключение
add_conn.jpg (40.51 КБ) 31968 просмотров
Соседняя кнопка удаляет подключение.
sim писал(а): 3. Сортировка по Type не работает
Да забыл, про нее. В ближайшей версии подправляю.
Какие колонки еще нужны (с учетом, что открывать файл для чтения типа геометрии и т.п. нельзя - а то тормозить будет)
bim2010 писал(а): Жму "Zoom in" . Попадаю в 1:0.00 Назад "zoom out" не получается. Изменить масшаб с помощью колеса мыши тоже не получается. Стопорит в 1:0.00. Помогает только Full extent.
А у Вас точно бета?
У меня открывается, правда долго ~ секунд 40. Потом проблем нет
beta_open_big_shp.jpg
Открытие большого shp
beta_open_big_shp.jpg (95.01 КБ) 31968 просмотров
Может для статистики кто ни будь еще попробует открыть этот файл.

P.S.
Хочу поинтересоваться - в развитие проекта есть ли желание у кого ни будь перевести интерфейс (заодно и мой английский подправить :) ) и/или разработать документацию. И что из этих задач приоритетнее.

Re: Проект wxGIS

Добавлено: 03 май 2010, 13:34
bim2010
А у Вас точно бета?
У меня открывается, правда долго ~ секунд 40. Потом проблем нет
Да бета - сегодня скачал.
У меня тоже открывается и картинка аналогично Вашей.
По поводу долго - все относительно ...

Речь не о том что точечный слой не открывается .... Открывается ...
А затем начинаем нажимать кнопки с масштабированием .... Нажмите Zoom in 5-10 раз до упора.
После этого назад zoom out не работает...только Full extent.

Re: Проект wxGIS

Добавлено: 03 май 2010, 15:07
Дмитрий Барышников
Да, есть глюк - неправильно рассчитывается экстент при зуме кликом на больших увеличениях. Вернуться можно переходом к предыдущему экстенту (Previous Extent). В принципе, можно сразу выделить зумом (Zoom in) необходимую область для увеличения.
zoomin.jpg
Zoom by drag
zoomin.jpg (66.7 КБ) 31954 просмотра
Спасибо за тестинг.