QGIS 入門
shpファイルの入手先
基本操作
- レイヤの追加方法 .shpファイルをダブルクリック(文字化けするときは、右クリック->プロパティ->一般情報->文字コードを変更
- ラベルの表示方法 レイヤ右クリック->プロパティ->ラベル->このレイヤのラベル名表示 ラベルを示す列を選択
- フィールドの編集を行う レイヤ右クリック->属性テーブルの表示->編集モード切り替え-> 下の計算バーで"POPULATION"/"AREA"などとして計算を行う
- フィールド値毎に段階色分け表示を行う レイヤ右クリック->スタイル->カラムを選択->色階調を決定->モード->色分けしたい分類数を決定 -> 完了
- ダイアグラムを表示する レイヤ右クリック->ダイヤグラム
- フィールド結合 レイヤ右クリック->結合 削除もここからしかできないため注意,また実際に結合されたのではなくデータ上結合されたように見えるだけである
- スナップオプション 設定->スナップオプション(許容距離を設定しなければ機能しない)
- 線の追加(新しいレイヤーとして追加) レイヤ->レイヤの作成->新規シェープファイルレイヤ->ライン(フィールドとかはよくわかんない)
- 元のレイヤーに新しい線を追加する レイヤを選択->鉛筆ボタンをクリック->二つ隣のボタンをクリックし2箇所指定すると線を引くことが可能
- レイヤの線などの対象物の削除 対象物を選択(矢印と黄色い紙のようなものがあるボタン)->ゴミ箱ボタンをクリック
- Excelファイルを結合する CSVに変換する->ダブルクリックでレイヤーとして読み込み->プロパティ->結合(後はラベルなどの機能を使ったり)
- 結合したフィールド値の変更 そのままでは変更できないので、一度名前をつけて保存を行う->属性値の編集->編集可能ボタン->ENTERで編集可能
参考資料
Shinyを利用したウェブアプリケーションの作成
環境設定
Download RStudio – RStudioよりRStudioをダウンロード。
実行
他のサンプルプログラム
デプロイ方法
RStudio Shiny チュートリアル レッスン7 Shinyアプリを共有しよう - Qiita を参考にして進める。 RCurlがうまくインストールされない場合、 r - Problems installing the devtools package - Stack Overflow を参考にlibcurlをインストールする。
チュートリアルの続き
HTML要素の追加
- 最小限度のプログラム
server.R
library(shiny) shinyServer(function(input, output) { })
ui.R
shinyUI(fluidPage( titlePanel("title panel"), sidebarLayout( sidebarPanel("sidebar panel"), mainPanel("main panel") ) ))
- sidebarLayoutのオプション引数positionを利用することによって、表示位置を調整することができる。
- fluidPageをfluidRow,navbarPageなどに書き換えることによって様々なレイアウトを実装することができる。
- html要素を配置したい場合には、各Panelに引数として以下のように要素を追加する。
mainPanel( h1("First level title"), h2("Second level title"), h3("Third level title"), h4("Fourth level title"), h5("Fifth level title"), h6("Sixth level title") )
- imgタグを利用して画像を使う場合には、wwwフォルダを作成してその中に画像を入れなくてはならない。
- htmlタグのオプションについては、引数としてaline="center"などと与えることで利用可能。
ウィジェットの追加
ウィジェットはmainPanel,sidebarPanelへ、追加することができる。ウィジェットは引数として、ウィジェット名(呼び出し時に必用)と、ラベル(表示する文字列)が必用になる。
参考資料
- RStudio Shiny TIPS - ほくそ笑む - プロットサイズの変更
Python Flask
環境構築 (LinuxMint)
Pythonの環境設定でむかついてる人はとりあえずこれをコピペで実行してくださいを参考に
$ python -V $ sudo apt-get install python-virtualenv
Virtualenv使用方法
- フォルダを作成する
$ virtualenv -p [Pythonの場所] [環境名] $ virtualenv -p `which python[2.7,3.4]` venv
-p指定がなくとも環境を作成することは可能である。 * 環境を適用する/環境から抜ける
$ source ./bin/activate $ deactivate
virtualenvのメリット 環境ごとにパッケージを入れ替えることが可能でシステムライブラリにも影響を与えず独立した環境を構築することが可能である。
なんかpipが使えないという時 qiita.com
Flask環境準備
- Flaskインストール
$ pip install Flask
簡単なWebアプリケーションを作成する
Unicodeエラーが出ると思うので、 PythonのUnicodeDecodeErrorと戦った話 - ぴよぴよ.py を参考に修正。
追記 app.pyのタイトルメッセージなどに関しては以下のようにすることで解決。
u'こんにちは'
http://localhost:5000
詳しい説明
http://a2c.bitbucket.org/flaska2c.bitbucket.org
参考資料
■
準備
- Mac:仮想マシン環境を簡単に管理できるvagrantをインストールしてみたを参考にしてVagrantとVirtualboxをインストール,boxテンプレートを取得
$ vagrant box add centos64 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box
$ vagrant init centos64
参考資料
HTMLをいじる
テーブル形式でない
- Rでウェブスクレイピングしてみたを参考に進める
library(XML) library(stringr) read<-htmlParse("http://*.jp") #更新日情報の取得 ##dl/ddに含まれる文字列のリストを作成 list<-getNodeSet(read, "//dl/dd") #title<-getNodeSet(read,"//div/a/h3") ##更新日時のみを取得する for( i in 1:length(list) ){ ##ddタグを外し文字列のみを取り出し list[[i]]<-xmlValue(list[[i]],"dd") ##文字列内に含まれる空白を全て削除 list[[i]]<-gsub(" ","",list[[i]],fixed=TRUE) ##文字列の中で数値部分のみを取り出す list[[i]]<-str_match_all(list[[i]], "[0-9]+") #マッチングは"これでも"大丈夫 list[[i]]<-list[[i]][[1]] }
classなどから情報の検索を行う
xpathSApply(read,"//div[@class='object boxHover']//p[@class='heading object-title']//a//text()")
テーブル形式
readHTMLTable("http://...",encoding)で読み込み文字コードの変更が可能。
有用情報
データが多すぎて把握できない時
sink("data.txt") data #適当な変数 sink()
とすることでdata.txtファイルに出力内容を書き出すことが可能。
XML -> String
xmlValue(xmldata)
ミニ情報
- data.frame(data,stringsAsFactors=F)
参考資料
- Rでウェブスクレイピングしてみた
- Rにおける文字列内の空白削除
- stringr — Rの文字列をまともな方法で処理する
- RPubs - stringrの使用例
- ファイルへのデータ出力
- R言語のデータの入出力と編集 - sink()
- r - Parsing HTML elements by id and class with XML package - Stack Overflow - classなどを指定して検索を行う場合に
- R による XML の CSV 化 - なんとなくな Developer のメモ - XML-Stringの変換にxmlValue()