rob

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

rob

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

最近の記事

【R】複数のオブジェクトを読み込みながら繰り返し処理する方法

変数やベクトル等の一部分を読み込みながら繰り返すfor文はよくありますが,オブジェクトを代入しながら繰り返すこともできます. 複数のデータがあるとし,読み込みます. # パッケージの読み込みlibrary(raster)# 4つのラスタデータの読み込みras1_var1 <- raster(path/to/raster1_variable_1.tif)ras1_var2 <- raster(path/to/raster1_variable_2.tif)ras2_var1

    • 【QGIS】ラスタデータの投影法が定義できないとき(あるいはラスタ演算ができないとき)

      ラスタデータの投影法が定義できない場合があります,その場合は,形式変換でラスタデータとして再保存し,さらに再保存されたラスタをr.resampleで再保存すれば,投影法が定義され,ラスタ計算機等ができる場合があります.なお,resample等の条件は設定なしか元データと同じになるように設定すればOKかと思います.

      • 【QGIS】フォーカル統計を実施する

        以前はRでのやり方を紹介しましたが,フォーカル統計はr.neighborで通常実施できます. r.neighborを開きます.neighborhood operationは算出したい統計値の指定です.neighborhood sizeの値は,検索する範囲(moving window, focal範囲)のサイズです.例えば21と入力すると.入力のラスタデータのセルサイズが0.5mなので,この場合21×21セル(対象セルから上下左右に10セル指定できる範囲)での集計となります.

        • 【QGIS】ラスタデータでマスクの逆をしたいとき

          ラスタデータの一部分を削除したいとき(マスクの逆)は,GRASSのr.mask.vectあるいはr.mask.rastが有効です. ラスターデータとマスクに用いるベクターデータ(ラスタでもOK)を用意します. r.mask.vectを開き Create inverse maskにチェックを入れ,実行します. 以下のような,マスクとして利用したベクタ(あるいはラスタ)の以外のところがくり抜かれています.

        【R】複数のオブジェクトを読み込みながら繰り返し処理する方法

        • 【QGIS】ラスタデータの投影法が定義できないとき(あるいはラスタ演算ができないとき)

        • 【QGIS】フォーカル統計を実施する

        • 【QGIS】ラスタデータでマスクの逆をしたいとき

          【R】rgdalが使えずにrasterデータを読み込めない時

          rgdalのcranでの配布が2023年10月16日で終了したようです.rgdalがインストールできていないとraster()が実行できずラスターデータが読み込めません.大体としてterraパッケージのrast()が有効です. # rgdalが既にインストールされている場合library(raster)ras <- raster("path/to/raster.tif") # rgdalがインストールできない場合library(raster)library(terra)ra

          【R】rgdalが使えずにrasterデータを読み込めない時

          【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の場合,コマンドプロンプトで以下を打ち込みます.

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

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

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

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

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

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

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

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

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

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

          【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等が表示されない問題について