#!/usr/bin/env python # coding: utf-8 import h5py import pandas as pd import tables from pyhdf.SD import SD, SDC import numpy as np import pandas as pd from scipy.interpolate import griddata import seaborn as sns import matplotlib.pyplot as plt import os import glob import csv import glob import jismesh.utils as ju import shutil datas = glob.glob('./population_1kmmesh/*.txt') for i in range(len(datas)): # 保存するCSVファイルの場所 data1 = datas[i] file_csv = data1.replace("txt", "csv") # テキストファイルを開く with open(data1)as rf: # 書き込むCSVファイルを開く with open(file_csv, "w")as wf: # テキストを1行ずつ読み込む # テキストの1行を要素としたlistになる readfile = rf.readlines() for read_text in readfile: # listに分割 read_text = read_text.split(',') # csvに書き込む writer = csv.writer(wf, delimiter=',') writer.writerow(read_text) datas = glob.glob('./population_1kmmesh/*.csv') os.makedirs('./population_1kmmesh_CSV', exist_ok=True) for i in range(len(datas)): new_path = shutil.move(datas[i], 'population_1kmmesh_CSV') path0000 = "./population_1kmmesh_CSV" files = os.listdir(path0000) ff = files[0:] # フォルダ内のファイル名を昇順に並べ替える ff = sorted(ff) ff[0][0:-4] os.makedirs('./population_1kmmesh_XY', exist_ok=True) for y in range(len(ff)): pop_japan = pd.read_csv('./population_1kmmesh_CSV/' + ff[y],header=0,engine="python") # 型の変換 実数値にしておく pop = pd.Series(pop_japan["T000846001"][1:], dtype=np.float64) pop_code = pd.Series(pop_japan["KEY_CODE"][1:], dtype=np.float64) pop_concat = pd.concat([pop_code, pop], axis=1) pop_concat = pop_concat.rename(columns={'T000846001': 'population'}) # メッシュコードを緯度経度に変換(メッシュの中心点を緯度経度に変換) pop_concat['lat'], pop_concat['lon'] = ju.to_meshpoint( pop_concat["KEY_CODE"], lat_multiplier=0.5, lon_multiplier=0.5) pop_japan.insert(1,'lat',pop_concat['lat']) pop_japan.insert(2,'lon',pop_concat['lon']) pop_japan.to_csv("./population_1kmmesh_XY/" + ff[y][0:-4] + "_XY.csv",encoding='utf_8_sig') # ファイルを1つにまとめる csv_files = glob.glob('./population_1kmmesh_XY/*.csv') list1 = [] for file in csv_files: list1.append(pd.read_csv(file)) df = pd.concat(list1) df = df.drop('Unnamed: 0', axis=1) df = df.dropna(subset=['KEY_CODE']) df.to_csv('./population_1kmmesh_XY/all_population_XY.csv', index=False,encoding='cp932')
[GRASSのインストール、標高データを用いた地滑り危険度マップの作成]
[植生指数 (NDVI) の計算、表示]
[標高データ (SRTM)の表示、植生指数 (NDVI) の3次元表示]
[反射率、輝度温度、標高データを用いた土地被覆分類]
[QGIS, Rを用いた公示地価データの空間統計分析:空間的自己回帰モデル]
[QGIS, Rを用いた公示地価データの空間統計分析:静的な時空間モデリング]
[Rを用いた衛星データ(LST, NDVI)の空間統計分析]
[Pythonを用いた空間統計分析のための衛星データ(LST, NDVI)の処理1(市町村別データの生成)]
[Pythonを用いた空間統計分析のための衛星データ(LST, NDVI)の処理2(人口データの重みを加味した市町村別データの生成)]