robbie

主にQGISやRなどを使った空間解析に関する備忘録です.

robbie

主にQGISやRなどを使った空間解析に関する備忘録です.

最近の記事

【R】複数のRファイルを結合する

複数の.Rファイルを結合する方法です.以下のような複数のRスクリプトを一つのRスクリプトに結合します. "code1.R"123 "code2.R"456 "code3.R"789 Mac, Linuxの場合,ターミナル,シェルで以下を打ち込みます. cat path/to/code1.R path/to/code2.R path/to/code3.R > path/to/code_merged.R windowsの場合,コマンドプロンプトで以下を打ち込みます.

    • 【QGIS】文字化けした属性テーブルを修正する

      概要文字化けした属性テーブルを修正する方法です.文字コードの修正でも対応できますが,無理だった場合はこちらが参考になるかもしれません まず,文字化けが発生する前の対象データの属性テーブルを開きます. フィールド計算機を開き,新規フィールドを追加して,行番号(通し番号)を追加します. 通し番号が入った新しい列を作成できたら,レイヤのエクスポートより,csvファイルとして保存します. 保存できたら,文字化けしているデータのプロパティを開きます. プロパティのテーブル結合

      • 【QGIS】ラスターデータを投影変換する

        概要ラスターデータの投影変換についてです. ラスターデータをQGISに読み込み,ラスタツールより再投影(warp)を選択します. 入力レイヤは読み込んだラスターデータ,変換元CRSは読み込んだラスターデータの現在の座標系,ラスタのCRSは変換先の座標系に指定します. リサンプリング手法については,連続データの場合はバイリニアとしておきます. 変換先CRSの単位での解像度は元データと同じ10mにしておきます. 実行したら新規プロジェクトを立ち上げ,再投影されたデータを読み

        • 【QGIS】ベクターデータを投影変換する

          概要ベクターデータの投影変換についてです QGISにベクターデータを読み込ませ,レイヤの右クリック→エクスポート→新規ファイルに地物を保存を選択します. ファイル名を設定し,座標参照系(CRS)を投影変換先の座標に指定し,実行します. エクスポートされたデータを新しいプロジェクトに入れ直すと,プロジェクトの座標系から変換されていることが確認できます.

        【R】複数のRファイルを結合する

          【QGIS】QGISで地理院タイルの衛星画像・写真をベースマップとして表示させる

          概要QGISで国土地理院の地理院タイルを用いて衛星画像等を表示させる手順です. 「国土地理院 地理院タイル」と検索し,「地理院タイル一覧」をクリックします. ページ中央のベースマップより写真を選択します. 写真の欄のURLを選択しコピーします.そして,QGISのブラウザパネルより,XYZ Tilesより新規接続をクリックします. 名前を「写真(任意)」,URLに先ほどコピーしたURLを貼り付けOKをクリックします. XYZ Tilesに出てきた写真をレイヤパネルにド

          【QGIS】QGISで地理院タイルの衛星画像・写真をベースマップとして表示させる

          【R】DEMデータからTPIを繰り返し計算し比較する

          概要TPIの計算方法です.検索半径をいくつか変えて比較します 必要なパッケージの読み込み必要なパッケージを読み込む。 library(raster)library(dplyr) ラスタデータの読み込み# ラスタデータの読み込み r <- raster("path/to/file/dem.tif") 検索セル数(半径)の設定とTPIの計算# 検索セル数radius <- c(2,4,6,8,10) for(i in radius) {# 円形範囲 window <-

          【R】DEMデータからTPIを繰り返し計算し比較する

          【QGIS】QGISでopenstreetmapのタイルをshpファイルで抽出する

          概要openstreetmapのタイルの構成要素をshpファイルとして抽出することができます.道路データ等は場合によってはOSMデータの方が使いやすい場合があります. QGISのプラグインより「OSMDownloader」をインストールします. インストールが完了すると,図のようなボタンが出てきます(ない場合は,ビューのツールバーより選択).これを実行し,下記のように保存します. 下記のように,openstreetmapのデータがベクターデータとして,抽出されます.

          【QGIS】QGISでopenstreetmapのタイルをshpファイルで抽出する

          【QGIS】土地利用細分メッシュがうまく表示できないとき

          概要土地利用細分メッシュをQGISに入れて表示させる際,各メッシュの枠線が消せない時があります.以前FacebookのQGISグループでIさんに教えていただいた内容です. 原因として,各座標の値が厳密には一致しないことが原因として考えられます.そこで以下のように対応します. まず,メッシュデータをXY座標系に変換したデータを用意します. バッファを実行し,0.01mなど微小のバッファを発生させます. 微小のバッファを発生させたデータを用いて ディゾルブを実行します.今

          【QGIS】土地利用細分メッシュがうまく表示できないとき

          【R】2点のポイントデータのうち,重複している点を抽出したい

          概要2つのポイントデータのうち,重なっているポイントを抽出したい場合,いくつか処理が考えられますが,なかなかうまくいかないことが多いです. やり方としては,座標が一致している点を重複点として捉え,各点の座標座標が一致しているところをduplicated()などで取り出す,というのが考えられますが,浮動小数点等の都合上うまくいかないことが多いです.そこで代替法として,2点間の距離を計測する方法が考えられます.具体的には下記のコードの通り,2点間同士の座標を抽出し,総当たりで各

          【R】2点のポイントデータのうち,重複している点を抽出したい

          【QGIS】QGISでポリゴンのトレースを行う

          概要QGISでポリゴンを描画したりする際に他のポリゴンをトレースした場合の設定です. QGISのビューより「ツールバー」を開き,「スナップツールバー」にチェックを入れます. そうすると,QGISのツールバーに磁石のようなマークが現れ,これをクリックすると,トレース機能が実行できるようになります.なお,トレース条件の細かい設定は設定のオプションより設定できます.

          【QGIS】QGISでポリゴンのトレースを行う

          【QGIS】XYZタイル等で地理院のタイル,openstreetmap等が表示されない問題について

          概要 概要QGISのXYZタイルに地理院タイルを読み込ませた時に,うまく表示されない場合があります. いくつか原因が考えられますが,各タイルのURLに誤りがある場合が多いでです. 下のように,URLの最後(.pngの後)に半角スペースが入ってしまっていることがあります.コピペする際のドラッグ範囲によって,含まれる時があります.このスペースを削除してやれば,正しいURLとなり表示される場合があります.

          【QGIS】XYZタイル等で地理院のタイル,openstreetmap等が表示されない問題について

          【R】国土数値情報の土地利用細分メッシュを一括ダウンロードする

          概要以下の国土数値情報の土地利用細分メッシュを一括ダウンロードする方法です.フォルダパスは適宜調整してください. ## 必要なパッケージの読み込み 必要なパッケージを読み込む。library(sf)library(dplyr) 1次メッシュコードの取得国土数値情報の土地利用細分メッシュをダウンロードする際に用いる1次メッシュコードを取得します. メッシュコードが入っているデータは以下よりダウンロードできます. # 2次メッシュデータの読み込み mesh2 <- st_

          【R】国土数値情報の土地利用細分メッシュを一括ダウンロードする

          【R】focal統計をRで実行する

          概要GRASSのr.neighbourをつかわずにRでやる方法のメモです. 必要なパッケージの読み込み必要なパッケージを読み込む。 library(raster)library(dplyr) ラスタデータの読み込み# ラスタデータの読み込み ras <- raster("path/to/file/dem.tif") 検索セル数(半径)の設定とタイプ(円形,長方形)の設定# 検索セル数radius <- 100 # 円形範囲 window <- focalWeig

          【R】focal統計をRで実行する

          【QGIS】ラスターデータについて特定の閾値より低い場所を除外したいとき

          以下のようなDEMのラスターデータがあるとき,例えば標高100m以下を除外した場合,色々やり方があるかと思いますが,以下のやり方がデータ数も少なく楽かなと思います. ツールボックスより「区分表(テーブル)で再分類」を実施します. 再区分の区分表(テーブル)を開き,削除したい値の範囲を入力し,再分類後の値を-9999とします. データがない場合のnodata値が-9999になっていることを確認し,実行します. 以下のように,指定した値の範囲(今回は100以下)がnoda

          【QGIS】ラスターデータについて特定の閾値より低い場所を除外したいとき

          【QGIS】兵庫県1mDEMをQGISで読み込んで投影法を定義しようとしたときに出るエラーの対処法

          概要兵庫県の1mDEMデータですが,tif形式で読み込んだときに投影法にエラーが出るときがあるので,その対処法です. 手順まず,以下のサイトに飛んで,「標高ラスター/CS立体図 ダウンロードページ」をクリックします.他にも色々DLできるリンクがありますが,.txt形式のDEMのDLページだったりするので,QGISで扱うときはあらかじめ.tif形式をDLできるこちらがおすすめです. データをダウンロードできたら,まずはQGISにドロップします. QGISに読み込ませたら,

          【QGIS】兵庫県1mDEMをQGISで読み込んで投影法を定義しようとしたときに出るエラーの対処法

          【R】都道府県ごとの河川lineデータをRで結合して一級水系を抽出する

          概要Rを使用して都道府県ごとの河川のラインデータを読み込み、結合して一級水系を抽出する手順。 必要なパッケージの読み込み必要なパッケージを読み込む。 library(sf)library(dplyr) データの読み込みと結合、一級水系の抽出# 河川ラインを読み込み files <- list.files("path", pattern = "Stream.shp", full.names = T) # オブジェクトの作成river_all <- NULLfor(i i

          【R】都道府県ごとの河川lineデータをRで結合して一級水系を抽出する