GIS – DECODE https://decode.red/blog data decode, decoder or decoded ... design of code Mon, 15 Dec 2025 06:15:00 +0000 ja hourly 1 https://wordpress.org/?v=4.7.29 Geographic Information System ../../../202403101754/ Sun, 10 Mar 2024 07:39:56 +0000 ../../../?p=1754 GIS(地理情報システム) : 位置に関する様々な情報を持ったデータを加工/管理したり、地図の作成や高度な分析などを行うシステム技術の総称 (下記URLより)

今回GISに入門してみました。

https://www.mlit.go.jp/kokudoseisaku/gis/guidance/guidance_1.html

GISを扱うために下記、オープンソフトウェアを利用しました。
https://www.qgis.org/ja/site/about/index.html

きっかけは、頻発する自然災害に備える意味でも、住んでいる場所の標高などのデータを知りたかったことからです。
いろいろ調べていくと、予想以上にさまざまなデータがあることに驚きました。気象情報・地震情報など収集して何かできないだろうか、という思いもありまずは使い始めました。

下記は道路地図・標高図の二つの地図を重ねて、Pythonプログラムでそれをレンダリングして出力するものです。

出力したものですが、QGISで見るものと同じ解像度で出力するには、時間がかかりそうです。

from qgis.core import QgsMapSettings, QgsProject
from PyQt5.QtGui import QImage, QColor
from PyQt5.QtCore import QSize

image_location = "/Users/kkk/render02c.png"

layers_to_save = [layer for layer in QgsProject.instance().mapLayers().values()]

settings = QgsMapSettings()
settings.setLayers(layers_to_save)
settings.setBackgroundColor(QColor(255, 255, 255))
settings.setOutputSize(QSize(12000, 12000)) 

extent = layers_to_save[0].extent()
print(layers_to_save[0])
for layer in layers_to_save[1:]: 
    print(layer)
    extent.combineExtentWith(layer.extent())

settings.setExtent(extent)
render = QgsMapRendererParallelJob(settings)

def finished():
    img = render.renderedImage()
    img.save(image_location, "png")

render.finished.connect(finished)
render.start()

print('--end--')

まずは第一歩でした。

参考) 
https://gis-oer.github.io/gitbook/book/materials/python/
https://nlftp.mlit.go.jp/ksj/

]]>