QGIS 入門

shpファイルの入手先

qiita.com

基本操作

  • レイヤの追加方法 .shpファイルをダブルクリック(文字化けするときは、右クリック->プロパティ->一般情報->文字コードを変更
  • ラベルの表示方法 レイヤ右クリック->プロパティ->ラベル->このレイヤのラベル名表示 ラベルを示す列を選択
  • フィールドの編集を行う レイヤ右クリック->属性テーブルの表示->編集モード切り替え->f:id:eerf0309458:20160410141038p:plain 下の計算バーで"POPULATION"/"AREA"などとして計算を行う
  • フィールド値毎に段階色分け表示を行う レイヤ右クリック->スタイル->カラムを選択->色階調を決定->モード->色分けしたい分類数を決定 -> 完了
  • ダイアグラムを表示する レイヤ右クリック->ダイヤグラム
  • フィールド結合 レイヤ右クリック->結合 削除もここからしかできないため注意,また実際に結合されたのではなくデータ上結合されたように見えるだけである
  • スナップオプション 設定->スナップオプション(許容距離を設定しなければ機能しない)
  • 線の追加(新しいレイヤーとして追加) レイヤ->レイヤの作成->新規シェープファイルレイヤ->ライン(フィールドとかはよくわかんない)
  • 元のレイヤーに新しい線を追加する レイヤを選択->鉛筆ボタンをクリック->二つ隣のボタンをクリックし2箇所指定すると線を引くことが可能
  • レイヤの線などの対象物の削除 対象物を選択(矢印と黄色い紙のようなものがあるボタン)->ゴミ箱ボタンをクリック
  • Excelファイルを結合する CSVに変換する->ダブルクリックでレイヤーとして読み込み->プロパティ->結合(後はラベルなどの機能を使ったり)
  • 結合したフィールド値の変更 そのままでは変更できないので、一度名前をつけて保存を行う->属性値の編集->編集可能ボタン->ENTERで編集可能

参考資料

Shinyを利用したウェブアプリケーションの作成

環境設定

Download RStudio – RStudioよりRStudioをダウンロード。

実行

qiita.com

他のサンプルプログラム

d.hatena.ne.jp

デプロイ方法

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へ、追加することができる。ウィジェットは引数として、ウィジェット名(呼び出し時に必用)と、ラベル(表示する文字列)が必用になる。

参考資料

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アプリケーションを作成する

qiita.com

Unicodeエラーが出ると思うので、 PythonのUnicodeDecodeErrorと戦った話 - ぴよぴよ.py を参考に修正。

追記 app.pyのタイトルメッセージなどに関しては以下のようにすることで解決。

u'こんにちは'
http://localhost:5000

詳しい説明

http://a2c.bitbucket.org/flaska2c.bitbucket.org

参考資料

準備

 $ vagrant box add centos64 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box
 $ vagrant init centos64

参考資料

Mac cron

参考資料

furudate.hatenablog.com

loumo.jp

  • ログの確認の仕方

ログを覗いてみましょう。(初心者向け) | Apple サポートコミュニティ

HTMLをいじる

テーブル形式でない

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()")

テーブル形式

abrahamcow.hatenablog.com

readHTMLTable("http://...",encoding)で読み込み文字コードの変更が可能。

有用情報

データが多すぎて把握できない時

sink("data.txt")
data #適当な変数
sink()

とすることでdata.txtファイルに出力内容を書き出すことが可能。

XML -> String

xmlValue(xmldata)

ミニ情報

  • data.frame(data,stringsAsFactors=F)

参考資料

subset

概要

  • 指定列のみ取り出す
subset(data,select=c(A,B,C,...))
  • ベクトルと等しい値を抜き出す
subset(data,id %in% vec$id)
subset(data,!id %in% vec$id) #等しくない値も簡単に抜き出すことができる
  • %in% ベクトル同士での含まれているかいないかの判定を行う
data$id %in% second$id

でsecond$idのベクトルに存在するdataのidのみをT/Fで取り出すことができる。

参考資料