パイクラおじさんの日記

MinecraftでPythonを勉強するおじさんの日記です。

ジオクラ

マイクラ内での読み込み(4)

3次メッシュの読み込みが出来たので、2次メッシュ(5340-22)を読み込んでみることにした。 2次メッシュ(5340-22) まずは5x5は面倒なので、高さを1/5にして.npy形式に出力して、読み込みを実行した。 読み込みには小1時間かかった。 大網駅 小中池 千葉市…

マイクラ内での読み込み(3)

反省点 5mメッシュを標高をそのままの比率でブロックを設置しているので傾斜が急峻。 高度差が大きいところは透けてしまう。 処理が重い。処理中は操作が困難。 対策 5x5に拡大する? 下に土を5個くらい付ける。 sleep(?)を入れてみる。 akatsukix.seesaa…

マイクラ内での読み込み(2)

マイクラでの操作 マイクラでの操作を順番を追って説明します。 Pythonが動くForgeを入れたバージョンで起動 「シングルプレイ」を選択 「ワールド新規作成」を選択 ワールド名:Python Loadnpy ゲームモード:クリエイティブ 「その他のワールド設定…」を選…

マイクラ内での読み込み(1)

(Pythonが実行可能な状態にした)マイクラに認識されるように次のディレクトリ(各自それぞれのバージョンによって違う可能性があります)にloadnpy.pyという名前で保存した。 ~/Library/Application\ Support/minecraft/versions/1.12-forge1.12-14.21.1.2…

NumPy配列のSave

2次メッシュをいきなり読み込ませるのは怖いので、まずは3次メッシュを出力する。 xmlnpy.pyに今までの修正点を入れて、さらにNumPy配列を保存するようにした。 # coding: utf-8 import xml.etree.ElementTree as ET import numpy as np import sys GEO_DIR …

データ数が少ないエリア(2)

左上が海になっているエリア(534020, 534010)のデータをダウンロードして、<gml:startPoint>が0 0以外のデータに対応させた。 (ついでに、534021, 534011もダウンロードした。) 基盤地図情報ダウンロードサービス 左上に海があるエリア 実行結果はFig. 20。 Fig. 20 最新</gml:startpoint>…

データ数が少ないエリア(1)

534023でデータ数が少ないエリアがあったので、それがどこなのかを調べたところ最初に見つかったのが04だった。 xmlplot.pyで処理してみると、33645行あって150 x 225 = 33750行あるべきなのに足りないのは… と、スタート位置<gml:startPoint>を確認すると0 0で正しい。 なの</gml:startpoint>…

XMLを配列にする部分の関数化

XMLを配列にする部分を関数化するに当たって、関数内でエラーが発生した場合、どうすりゃいいの? 「例外とか投げるのかな?」とググったら見つかった。 8. エラーと例外 — Python 3.6.1 ドキュメント XML内に<gml:tupleList>が無い場合にExceptionを投げて、例外があっても</gml:tuplelist>…

標高データを配列に

基盤地図情報~数値標高モデルを利用する - Qiita このページを参考にNumPyを使ってみた。 # coding: utf-8 import xml.etree.ElementTree as ET import numpy as np import sys GEO_DIR = "FG-GML-{0:04d}-{1:02d}-DEM5A" GEO_XML = "FG-GML-{0:04d}-{1:02d…

引数対応のXMLパース

# coding: utf-8 import xml.etree.ElementTree as ET import sys GEO_DIR = "FG-GML-{0:04d}-{1:02d}-DEM5A" GEO_XML = "FG-GML-{0:04d}-{1:02d}-{2:02d}-DEM5A-20161001.xml" if len(sys.argv) < 4: print("xmlparse.py mesh1 mesh2 mesh3") exit(-1) mesh…

基盤地図情報〜数値標高モデルの解説

ググっていたらこんな情報があった。 qiita.com ふむふむ、5340は次のような意味になるのか。 意味 値 緯度 53 / 1.5 = 35.3333 経度 40 + 100 = 140

XMLパーサー

PythonのXMLパーサーをググると、これが見つかりました。 20.5. xml.etree.ElementTree — ElementTree XML API — Python 3.6.1 ドキュメント まずはこのXMLをパースして<gml:tupleList>を見つけて、中のテキストを取り出す(だけの)プログラム(xmlparse.py)を書いてみまし</gml:tuplelist>…

標高データ

ダウンロードしたファイルは、FG-GML-5340-22-DEM5A.zipというファイルでした。 解凍すると、FG-GML-5340-22-DEM5Aというディレクトリの中に次のような100個のXMLファイルができました。 FG-GML-5340-22-nn-DEM5A-20161001.xml (nn=00〜99) 中身は、次のよう…

「国土地理院の標高データからマイクラ内に実際の地形を再現する」には

まずは国土地理院の標高データを手に入れないと… 基盤地図情報ダウンロードサービス ここの「数値標高モデル」というのがそれらしい。 ダウンロードするには利用者登録しないといけないので、メールアドレスを登録して「ファイル選択」から地図上で欲しい地…