NEW!09.12.2001
Конференция разработчиков ГРАСС
в г. Тренто (Италия) 23-24 ноября
2001 г.
NEW!15.12.2001
Конференция пользователей ГРАСС
в
г. Тренто (Италия) 11 - 13 сентября 2002 г. У организаторов есть гранты
на поездку!
Эта новая страничка для тех, кто работает с GRASS,
а также для тех,
кто хочет найти удобную ГИС. Возможно, где-нибудь
уже
есть форум по GRASS на русском языке. Однако,
среди участвовавших в разработке
бета-версий GRASS 5.0 русских было всего два
или три человека (всем привет);
исходя из того, что использование GRASS для меня
было связано с поддержкой кода,
я полагаю, что то же характерно для других пользователей
GRASS. Итак, прихожу к
выводу, что в России эта "трава" дала только
первые всходы.
Возьму на себя смелость и начну форум по GRASS
с описания различных
интересных, как мне кажется, деталей этой ГИС.
1. Я сам познакомился с GRASS два
года назад, освоив Arc/Info, ER
Mapper и Idrisi. Последняя из трех оставила по себе самые теплые
воспоминания; для меня это (сугубо лично) бесконечный конвейер модулей.
Та же
идеология у GRASS, однако число модулей больше раза в 3, соответственно,
больше
и возможностей.
2. Архитектура GRASS такова, что
позволяет легко вовлечь в работу большое
число участников. Существует выделенный "столб" данных, защищенный
от редакции
всех пользователей, кроме администратора. Таким образом, можно гарантировать
общую отправную точку для всех пользователей. В последних версиях (5.0betaX),
каждый
видит наборы данных всех остальных, и может снимать с них копии для
своих целей.
Это все очень похоже на CVS (;l), только вместо кода - данные, т.е.
растровые,
векторные, точечные слои, регионы, иконки, файлы описания, скрипты
и т.д.
Мы запускаем GRASS в X-terminale с сервера.
3. GRASS поддерживают почти все платформы,
все Unix'ы, в первую очередь; далее,
это Windows и Mac. Судя по количеству писем в mail-list GRASS, есть
довольно
много разработчиков на последних двух. Боюсь, для меня труд этих людей
навсегда останется загадкой. Не знаю,
каких успехов достигли они, и призываю всех, кто видел GRASS под Windows,
поделиться мнением. Учитывая больные места Windows, знакомые из прошлого
опыта, подозреваю худшее. Если есть все-таки оптимисты, отзовитесь.
4. Я имел дело с версиями 4.2 и далее 5.0 все
бета, на Linux 5.1-6.1, весь код
компилировал; в качестве опыта я ставил также бинарный дистрибутив
на
Silicon Graphics Indy (Irix 5.3). Удивительно, почти все модули работали
и там.
Впрочем, зря я так: на Западе этих машин много, и в конце концов, откуда
Open GL
произошел. Плохо, что для SGI я так и не смог
использовать GNU-компилятор (gcc); нужны были header-файлы, которые,
кстати,
идут вместе с Irix'ом начиная с 6 версии. Используя linux'овые заголовки,
я скомпилировал Hello,world и чуть не упал со стула. Дальше этого,
однако, дело не пошло, и выбор был однозначно за GRASS/Linux.
Феликс, по-моему,
упоминал, что ставил GRASS на FreeBSD и Solaris, однако, без особых
комментариев.
5. GRASS идет теперь под GPL,
т.е., можно заработать некие деньги, вполне
законно; во всяком случае, мой личный опыт скорее против этого (см.
здесь).
В России до сих пор это только теория (:{.
6. Карты в GRASS печатать можно,
в т.ч. с русскими легендами и подписями.
Делать это лучше всего у меня получалось из ps.map.new. Help-файлы
по модулю
старые, и в них не все опции указаны. Например, в опции vector можно
указывать
теперь label, для вывода осмысленных названий в легенду, а также line_cat
для
отрисовки только одного полигона или линии (точнее, сколько угодно,
но с общим
значением категории). Хорошо также использовать acolor (см., например,
такой скрипт для ps.map.new).
Карты я сам печатаю, после того, как они готовы, из ghostview на A4.
Масштаб
устанавливаю следующим образом: сначала выбираю примерно регион (на
глаз) на
экране, делаю пробный postscript-файл и замечаю масштаб, который считает
модуль
для этого региона (для примера 1:178945). Чаще всего, правый край рамочки
сразу
выходит за край бумаги: тогда мы вставляем в скрипт строчку "scale
1:200000",
и следующий постскрипт будет уже с "круглым" масштабом. Надо учитывать,
что вставляемый в скрипт масштаб перебивает масштаб региона, только
если он
меньше; если же мы вставим "scale 1:100000", то масштаб останется старым.
Кстати, уменьшая масштаб, мы подтягиваем и правый край!
7. Дигитайзер в GRASS. У меня очень
хороший дигитайзер GTCO Roll-Up 36x48 in.
В старых версиях нужно было компилировать программу digit для каждого
типа
дигитайзеров, затем редактировать файл $GISBASE/etc/digitcap. Теперь,
т.е. в
5.0, проще - во-первых, общие для всех дигов функции компилируются
прямо в
v.digit, а за тип отвечает всего лишь текстовый файл описания (например,
для
моего GTCO это gtslf01_16). А файл вместо digitcap называется digcap.
Нужно не
забыть разбудить COM-порт; для этого вставляем в inittab такую строку:
05:23:off:/sbin/getty cua0 9600.
Кроме этого, chmod 666 /dev/cua0.
Не обошлось и без приколов: в v.digit кто-то решил вставить проверочку
на
желание рисовать в координатах широты и долготы; в результате, в режиме
дигитайзера модуль стал сбрасывать кору. Так что, верните в Gmakefile
map_init
вместо map_init_new (не уверен, что люди исправили его в последних
версиях).
8. Интерфейс с БД. Это самая естественная
вещь для ГИС, почему-то до недавних
пор лежит в contrib-директориях, т.е. имеет пониженный статус. Выбирать-то
можно, с каким СУБД работать, но, по моему , если и выбирать, то между
postgres и mysql. Что касается интерфейса с postgres, то я в свое время
написал
несколько примеров использования и довольно подробные комментарии к
12 модулям
(см. на серверах GRASS или в mail-архивах конференции GRASS/SQL). Мне
самому
без этого интерфейса будет трудно. Как правило, наиболее необходимы
функции для реклассификации, т.е. v.reclass.pg, d.rast.pg. Для сбора
статистики с
карт не обойтись без d.what.v/rast/s.pg.
Radim написал что-то вроде универсального plug-in для всех СУБД, но
я его не
смотрел, т.к. доволен дружбой GRASS и PostgreSQL на 99 процентов.
Добавление от 21.12.2001 - смотрел я его (odbc), конечно, в принципе
идея здравая, но
вот альтернативы Postgres, по моему, нет, и в ближайшее время вряд
ли будет. Удобно иметь
plug-in, спору нет, дай бог, чтоб не segfault.
9. Векторизация. Попробовал (r.thin/r.line,
r.contour), но не понравилось.
Т.е., отсканировал (scanimage/Mustek Paragon 6000CX) с разрешением
300
25,000-карту, импорт через r.in.png, убрал шум между 20 м контурами,
кажется в r.thin, векторизовал, получилось - долго и не очень ровно,
т.е.
нужно было еще сглаживать.
Для меня лучшим выходом остается дигитайзер. Если есть кто-то, кто
с успехом
эти модули использовал, отзовитесь.
10. DEM в GRASS. Вообще-то, демы
делают несколько модулей - r.surf.idw,
r.surf.contour, но первый что-то очень грубо, а второй у меня вообще
год
назад не пошел (на beta4), и я его больше не смотрел. Всем рекомендую
s.surf.tps,
пример готового дема можно посмотреть на этом сервере через Webgrass
(кордон
Кабаний). Этот модуль делает хорошие демы даже на контурах через 50
м (если
выставить сплайн ок. 100). М.б., можно и шире брать рамки, я не пробовал
пока.
11. Трехмерная визуализация. Это
NVIZ и ogl3d. Нужна Mesa (какая-то, у
меня 3.0). NVIZ позволяет с трехмерной карты хватать координаты и запрашивать
postgres. Интерфейс на tcl/tk. Я даже не поленился и сделал 3-секундный
ролик
"Пролетая над кордоном Кабаний со скоростью ракеты класса воздух-воздух".
12. Графический интерфейс. Пользуйтесь
Tcltkgrass, больше сказать вроде и
нечего. Мне вообще-то больше нравится gtk, но по скорости работы с
tcltkgrass'ом
пользователя, этот интерфейс, мне кажется, большая находка.
Не могли бы Вы выслать ссылки на какие-нибудь HOW-TO, документацию
для
начинающих или что-то в этом роде.
И если можно, то подскажите как начать работу. Демо картинки больно
красивые =), но совершенно непонятна структура и принципы работы.
Anthon KotchepaSSov
LOCATION: sixote________
(enter list for a list of locations)
MAPSET: zapoved_______
(or mapsets within a location)
DATABASE: /usr/local/grass-5.0b/db__________________________
Здесь DATABASE -это просто адрес верхнего каталога
для всех
grass'овых данных. См., например, листинг этого
каталога ниже:
GRASS:/usr/home/zapoved > ls /usr/local/grass-5.0b/db
demolocation sixote
GRASS:/usr/home/zapoved > ls /usr/local/grass-5.0b/db/sixote
PERMANENT alex.tar.gz kathy mn
olga root zapoved
alex flint lena
nobody postgres sasha
GRASS:/usr/home/zapoved >
т.е. /usr/local/grass-5.0b/db содержит 2 LOCATION
- demolocation
и sixote. Второй из них - рабочий, т.к. в нем
лежат MAPSETs пользователей -
alex, flint и т.д. Ничто в принципе не мешает
иметь в работе одновременно хоть
10 разных LOCATION и в каждом по десятку разных
пользователей. Пользователи одного LOCATION видят прозрачно данные
из MAPSET других пользователей, т.е., могут снимать с них копии для работы.
Так например:
GRASS:/usr/home/zapoved > ls /usr/local/grass-5.0b/db/sixote/zapoved/cell
dem_kaban kab kur_ter
r_tmp_kur ugly2
dem_kaban_sites kaban4 my_abrek
ugly
GRASS:/usr/home/zapoved >
т.е., в MAPSET пользователя zapoved лежат растровые
карты, dem'ы, которые
могут быть скопированы (g.copy).
Данные в MAPSET, который называется PERMANENT,
может редактировать только
супер-пользователь grass (root по умолчанию).
Т.е., в этот столб идут самые основные и надежные карты. root может положить
туда, например, матрицу, с которой остальные пользователи будут брать себе
копии и вносить свои изменения.
--------------------------
--alex
Наш проект из стадии импорта shape-файлов уже вырос,
в грассе данные решил вводить, заказал дигитайзеры,
сейчас делаю доступ к postgres через apache, и скоро настрою
grasslinks.
Есть проблема: не могу придумать четкую структуру данных
для геологии, у нас есть один , который этим уже давно
занимается, но он не признает ничего кроме своего ArcView,
а недавно еще купили ему Spatial Analyst.
Планы все те-же - оцифровка двадцать пятки, проблемы с секретностью
уже почти решены, как купим дигитайзеры, расширим штаты
и начнем. С топокарт я думаю начать решать водные проблемы,
а затем вводить геологию.
Я хочу заказать CalComp, сейчас точно не скажу, по-моему, AccuGrid
III,
в грассовских faq, даже есть подробное руководство по его настройке,
хотя он дорогой: A2-планшет стоит 2200$. Может есть модели подешевле,
ведь нам надо взять не меньше 3-х?
Геологи хотят использовать GRASS при выдаче заключений на
строительство и пр., сейчас готовлю для этого скрипты. (Там нужно
графическое отображение геологии участка).
Огромное спасибо авторам r.slope.aspect. По крутизне склонов
можно прогнозировать появление золотых россыпей, а также
решать задачи по гидрологии.
Насчет института, у нас на самом деле ФГУ,
т. е. Федеральное Государственное Учреждение
"Горно-Алтайский Территориальный Фонд Геологической
Информации" (ФГУ "ГАТФГИ"). Основная задача: готовить бумажки
для местного Комитета Природных Ресурсов, но некоторые из нас
так не считают. С линуксом реально работают четыре человека,
из них два реально работают с грассом.
Насчет русификации у меня все пpоблемы с Vask, он не
позволяет вводить русские буквы, даже когда я вставляю
значение по умолчанию в input-функции.
Директор долгое время боялся приобретать дигитайзеры
и для демонстрации возможностей мы взяли в родственной
организации какую-то древнюю модель беларусского
производства (A2, 4-х кнопочный курсор, 508 lpi).
Я не нашел в CVS версии GRASS map_init и установил
4.3, где он есть. (В пятом ГРАССе v.digit вылетал
с треском :[.
(т.е. инструкции, которые ты написал в форуме
не помогли).
Слава богу, с дигитайзером был техпаспорт и digit
файлы 4.3 такие же как в 5 версии. Я сделал драйвер,
и он заработал (!), см. аттачмент.
Артем.
# ESK digitizer
setup
{
digname = ESK
description = ESK Tablet-A2 DK 2.787.002, binary
format
buttons = 4
buttonstart = 1
buttonoffset = 0
coordinates = absolute
baud = 9600
units_per_inch = 508
}
startpoint
{
send = \161
}
startrun
{
send = \161
}
startquery
{
send = \161
}
query
{
send = \161
}
stop
{
send = \163
}
format
{
byte1 = 1 0 0
0 0 b2 b1 b0
byte2 = 0 x6 x5 x4 x3 x1
x2 x0
byte3 = 0 x13 x12 x11 x10 x9 x8 x7
byte4 = 0 y6 y5 y4 y3 y2
y1 y0
byte5 = 0 y13 y12 y11 y10 y9 y8 y7
}
Если можно, вот вопрос от полного чайника:
у меня есть карта (куча
файлов)
любимого города в MapInfo Prof. 5.5 под Windows...
Можно ли перенести эту кучу файлов (баз ГИС-данных)
из Windows-а под
Linux и
работать с ними (импортировать их) под какой-либо
свободной ГИС под
Линукс?
Какая свободная ГИС под Линуксом сможет прожевать
файлы с форматом
MapInfo?
Если таких ГИС несколько, возможно кто-то из
них имеет не только X
Window но и
Веб-интерфейс?
Зарание благодарен за ответ
Сергей Абрамов
www.botik.ru/~abram
Date: Sat, 1 Dec 2001 14:05:40 +0300
From: "Новоселов Александр" <novosjolov@mail.ru>
To:sixote@yahoo.com
Subject:ru.GRASS
Добрый день!
Работаю в геологоразведочном техникуме и перевожу
компьютерный кабинет на Linux.
Естественная проблемма - ГИС...
Пока я даже адрес с исходниками не нашел, а еще лучше
бинарники GRASS.
Можно ли расчитывать на помощь в этом направлении
(компиляция, настройка) и куда за ней обратиться.
Александр
-------------------------------------------------
Все исходники и скомпилированные файлы нужно
брать в версиях 5.*
http://grass.itc.it/download.html
Я сам их (исходники, конечно) беру на CVS.
Как взять исходные файлы на CVS?
export CVSROOT=:pserver:grass-guest@intevation.de:/home/grass/grassrepository
cvs login
пароль: grass
cvs -z3 co grass - снимет все дерево (ок. 100
Мб)
cvs -z3 co grass/src.contrib/GMSL/NVIZ2.2 (снимет
только nviz)
и т.д.
Конечно, брать 100 Мб сразу можно с хорошего канала. Если такового нет, берите в tar.gz (~ 20 Mb)
Есть (кроме GRASS) целый диск свободного ГИСа
(FreeGIS, http://freegis.org) С русским (частично) сопроводительным текстом
этот диск можно взять на
моем новом сайте http://motivation.ru.
--алекс
Пока это все; вопросы, добавления, мнения - присылайте
на sixote@yahoo.com
с Subject: ru.GRASS
Алекс Шевляков.
(писано и ispell'ованно Дек 9, 2000)
Добавления -
Февраль 22, 2001
Июнь 8, 2001
Сентябрь 28, 2001
Декабрь 9, 2001
Декабрь 15, 2001
Декабрь 21, 2001