Tech Talks @NSU: Теоретические основы программирования: проекции Футамуры-Тур...
R - как инструмент обработки и анализа пространственных данных
1. RR
как инструмент обработки и анализакак инструмент обработки и анализа
пространственных данныхпространственных данных
Никита ПлатоновНикита Платонов
platonov@sevin.ruplatonov@sevin.ru
Институт проблем экологии и эволюции им. А.Н.Северцова РАНИнститут проблем экологии и эволюции им. А.Н.Северцова РАН
(ИПЭЭ РАН)(ИПЭЭ РАН)
4. RR как проекткак проект
► R –R – этоэто GNU-GNU-проект (проект (“GNU S”“GNU S”))
R Core TeamR Core Team
R FoundationR Foundation
R-ForgeR-Forge
CRAN TeamCRAN Team
► R –R – это язык программированияэто язык программирования
Динамическая типизацияДинамическая типизация
Числа, строки; вектора, массивы, спискиЧисла, строки; вектора, массивы, списки
Циклы, условия, функцииЦиклы, условия, функции
Интерфейс к функциям наИнтерфейс к функциям на C, C++, FortranC, C++, Fortran
Классы (Классы (S3S3,, S4S4))
5. RR как проекткак проект
► R –R – это программная оболочкаэто программная оболочка
Интерфейс командной строкиИнтерфейс командной строки
ИнтерпретаторИнтерпретатор
Система помощиСистема помощи
Графика и визуализацияГрафика и визуализация
Системные (ОС) функцииСистемные (ОС) функции
GUIs (R commander, RStudio)GUIs (R commander, RStudio)
Интеграция со средствами разработки ПОИнтеграция со средствами разработки ПО
► R –R – это документацияэто документация
ManualsManuals
FAQFAQ
RefcardsRefcards
R JournalR Journal
BooksBooks
6. RR как проекткак проект
► RR – это сообщество– это сообщество
NabbleNabble
Stack overflowStack overflow
Пользовательские группы (Пользовательские группы (RUGsRUGs))
useR!useR!
► RR – это– это широкие возможностиширокие возможности
Расширяемость с помощью пакетовРасширяемость с помощью пакетов
Взаимодействие с другимиВзаимодействие с другими Open SourceOpen Source
Грамотное программирование (Literate Programming)Грамотное программирование (Literate Programming)
Воспроизводимое исследование (Reproducible Research)Воспроизводимое исследование (Reproducible Research)
ГИСГИС
8. RR как ГИСкак ГИС
► Динамическая/интерактивная визуализацияДинамическая/интерактивная визуализация
(+браузер(+браузер, tcl/tk, tcl/tk))
Базовая карта (Базовая карта (Google Maps, OpenStreetMapGoogle Maps, OpenStreetMap))
Растровые (Растровые (EBimage,EBimage, Open sourceOpen source ГИСГИС))
Векторные (Векторные (?,?, Open sourceOpen source ГИСГИС))
► ОцифровкаОцифровка
► Анализ пространственного размещения точекАнализ пространственного размещения точек
► ГеостатистикаГеостатистика
► Пространственная регрессияПространственная регрессия
► Цифровая обработка и анализ растровыхЦифровая обработка и анализ растровых
изображенийизображений
► Map composerMap composer (статический,(статический, интерактивныйинтерактивный ))
9. Достоинства и недостаткиДостоинства и недостатки RR
► Большое число подключаемых модулей дляБольшое число подключаемых модулей для
обработки растровых данных и пространственногообработки растровых данных и пространственного
анализаанализа
► ВизуализацияВизуализация
► Пакетный режим без скриптовых языков и функцийПакетный режим без скриптовых языков и функций
ОСОС
► Подготовка картографического материала дляПодготовка картографического материала для
печати в научных журналахпечати в научных журналах
► Многопанельная компоновка карт может бытьМногопанельная компоновка карт может быть
достигнута базовым функционаломдостигнута базовым функционалом
► Слабая поддержка интерактивностиСлабая поддержка интерактивности
► Необходимость использования сторонних (Необходимость использования сторонних ( OpenOpen
SourceSource)) приложенийприложений
10. ОткрытостьОткрытость RR
► Для пользователяДля пользователя
Техническая поддержка – сообществоТехническая поддержка – сообщество
Стандартизированная документация – высокоуровневоеСтандартизированная документация – высокоуровневое
описаниеописание
Исходный код – низкоуровневая документацияИсходный код – низкоуровневая документация
Пользователь может стать разработчикомПользователь может стать разработчиком
► Для разработчикаДля разработчика
Open Source: cOpen Source: cтандартизация участия в проектахтандартизация участия в проектах
Open Source:Open Source: инструментарийинструментарий
R:R: инструментарийинструментарий
► Для проектаДля проекта
Экономия на закупках программных лицензийЭкономия на закупках программных лицензий
Разработка заинтересованными участникамиРазработка заинтересованными участниками