Skip to content

Instantly share code, notes, and snippets.

View naogify's full-sized avatar
🛰️

Naoki Ohashi naogify

🛰️
View GitHub Profile
@naogify
naogify / rename_space_to_undersocre.sh
Last active September 20, 2024 13:42
shapeとgeojson ファイル名にスペースが含まれていればアンダースコアに変換する
#!/usr/bin/env bash
set -ex
# 対象のShapeファイルの拡張子リスト
shape_extensions=("shp" "prj" "cpg" "dbf" "sbn" "fbn" "ain" "ixs" "mxs" "atx" "shp.xml" "shx" "sbx")
# ファイル名のスペースをアンダースコアに変換する関数
rename_files() {
# 変更したファイル名を保持する配列
renamed_files=()
@naogify
naogify / move-all-shape-current-dir.sh
Last active September 20, 2024 22:41
全てのShapeファイルをカレントディレクトリに移動する
#!/usr/bin/env bash
set -ex
# 対象とする拡張子のリスト(小文字・大文字両方を許容)
extensions=("shp" "prj" "cpg" "dbf" "sbn" "fbn" "ain" "ixs" "mxs" "atx" "shp.xml" "shx" "mxd" "geojson")
# 各拡張子についてファイルを検索し、カレントディレクトリに移動する
for ext in "${extensions[@]}"; do
find . -type f -iname "*.$ext" -exec bash -c '
target="./$(basename "$1")"
#!/usr/bin/env bash
set -ex
find . -name "*.shp" | while read -r shpfile; do
base=$(dirname "$shpfile")/$(basename "$shpfile" .shp)
# .prj ファイルが Shift_JIS だと ogr2ogr でエラーが出るので UTF-8 に変換
if [ -f "${base}.prj" ]; then
encoding=$(nkf --guess "${base}.prj")
if [ "$encoding" = "Shift_JIS" ]; then
@naogify
naogify / fiwareJson2geojson
Created September 13, 2024 04:02
避難エリアのFIWAREデータをGeoJSONに変換するスクリプト
find . -name "*.json" | while read file; do
jq '. | {type: "Feature", geometry: .Location.value, properties: {id: .Identification.value, name: .Name.value}}' "$file" > "${file%.json}.geojson"
rm "$file"
done
@naogify
naogify / unzip_recursively.sh
Last active September 11, 2024 01:41
# 再帰的にzipを解凍するコマンド
#!/usr/bin/env bash
set -ex
# 再帰的にzipを解凍する関数
unzip_recursively() {
local target_dir=$1
# 現在のディレクトリ内のすべてのzipファイルを探して解凍
find "$target_dir" -name '*.zip' | while read zip_file; do
# 解凍する
@naogify
naogify / shp-ext-upper2lower.sh
Last active August 30, 2024 04:04
現在のディレクトリ以下にある Shapeファイルの拡張子を小文字にします
#!/usr/bin/env bash
set -ex
# 拡張子のリスト
# https://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%A7%E3%83%BC%E3%83%97%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB
EXTENSIONS=("SHP" "PRJ" "CPG" "DBF" "SBN" "FBN" "AIN" "IXS" "MXS" "ATX" "SHP.XML" "SHX")
# 各拡張子を小文字に変換
for EXT in "${EXTENSIONS[@]}"; do
find . -type f -name "*.$EXT" | while read FILE; do
#!/usr/bin/env bash
set -ex
# 現在のディレクトリ内のすべての .mbtiles ファイルに対して処理を行う
for MBTILES_FILE in *.mbtiles; do
# SQLite3 を使用して MBTiles ファイルからメタデータを取得
NAME=$(sqlite3 "$MBTILES_FILE" "SELECT value FROM metadata WHERE name='name';")
DESCRIPTION=$(sqlite3 "$MBTILES_FILE" "SELECT value FROM metadata WHERE name='description';")
VERSION=$(sqlite3 "$MBTILES_FILE" "SELECT value FROM metadata WHERE name='version';")
ATTRIBUTION=$(sqlite3 "$MBTILES_FILE" "SELECT value FROM metadata WHERE name='attribution';")
find . -name "*.ndjson"| xargs -I '{}' rm "{}"
find . -name "*.mbtiles"| xargs -I '{}' rm "{}"
find . -name "*.mbtiles-journal"| xargs -I '{}' rm "{}"
#!/usr/bin/env bash
set -ex
# スクリプトの開始時間を記録
start_time=$(date +%s)
# --layer-one オプションがあれば source-layer を main に統一する
use_single_layer=false
while [[ "$#" -gt 0 ]]; do
case "$1" in
@naogify
naogify / index.html
Last active July 18, 2024 11:43
MapLibre GL JS develop viewer
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MapLibre GL JS Development</title>
<link rel="stylesheet" href="./dist/maplibre-gl.css">
<style>
html,