Python

GISアプリ

Pythonで多角形解析!GitHubで公開したスクリプトパッケージのご紹介

CSV形式の座標データから多角形を解析するPythonスクリプトを公開。GISや空間情報処理に役立つ実用ツールです。
AIの応用

奈良市オープンデータで地目分類AIを作ってみた

奈良市が公開している地籍・地目情報のオープンデータを活用し、AIによる土地分類(地目判別)を自動化するための教師データを作成・学習するプロジェクトです。本プロジェクトでは、地図や航空写真と地目ラベル(例:宅地、公衆道路、原野、学校用地など)を組み合わせて、小さなパッチ画像(例:100m四方)を作成し、それを元にPyTorchを用いた深層学習モデルで土地の種類を識別できるように学習を行います。地目分類は不動産評価、都市計画、防災対策など幅広い分野で必要とされている一方、従来は目視や手作業に依存する場面が多く、効率化が求められていました。本プロジェクトでは「auto-geomoku-classifier」で用いていた手法を奈良市に適用し、地域特化型のAIモデルを再構築することを目的としています。データの整備にはQGISを使用し、地目ポリゴンとオルソ画像を視覚的に確認しながらパッチ画像を生成。教師データ生成用スクリプト(create_patches_count_fixed_CSV_ONLY.py)と学習用スクリプト(train_land_classifier_ADD.py)を用いて、オープンデータから実用的な学習セットを構築しました。さらにGitHubを使ってプロジェクト全体をバージョン管理し、再現性やチーム共有も可能としています。このプロジェクトは、他自治体や他地域への展開を見据えたテンプレート構成となっており、奈良市以外の地目データに差し替えることで柔軟に応用が可能です。教師データ構築・地目分類AIモデルの学習・評価・公開という一連の工程を通じて、オープンデータ利活用とAI技術の融合による地域課題の解決を目指します。
AIの応用

AIと画像解析で場所を特定する技術

OpenCVとAI技術を活用して、SNSに投稿された写真から特定の場所を割り出す方法を紹介します。本記事では、部分画像と全体画像を用いたテンプレートマッチング技術を解説し、PythonコードやINIファイルの具体例も掲載しています。OpenCVは画像解析やビデオ処理を可能にする強力なライブラリであり、AIと組み合わせることで、精度の高い物体検出やパターン認識を実現します。本技術の応用分野として、防犯や捜査、観光地情報の解析、歴史研究への応用が挙げられます。テンプレートマッチングにより、部分画像が全体画像のどこに一致するかを特定し、矩形で囲んだ結果画像と切り出した領域画像を生成します。さらに、コードと設定ファイルを通じて簡単にプロジェクトを再現可能です。記事では技術の背景から具体的な手法、応用例までを分かりやすく解説しており、画像処理やAIに興味のある読者にとって役立つ内容となっています。初心者でもすぐに試せるよう、手順を詳しく説明しています。
GISでよく使う数学

Pythonで学ぶベクトルの演算:内積、外積、角度計算とGISへの応用

Pythonを使ったベクトル演算(内積、外積、角度計算)は、GIS(地理情報システム)やゲーム開発などの分野で広く応用されています。本記事では、Pythonとnumpyを用いたベクトルの基本的な操作方法について解説し、GISにおける具体的な利用方法を紹介します。例えば、道路ネットワークの解析では、交差点の角度や道路の方向を内積で計算し、可視領域の判定や3Dモデルの法線ベクトルの計算に活用されます。また、ゲーム開発においては、キャラクターの視線や衝突判定、敵AIの行動制御にベクトル演算が利用されます。これにより、よりリアルな空間解析や動作シミュレーションが可能となり、効率的な開発が実現します。GISやゲーム開発のプロジェクトに役立つ知識を提供し、実際のプロジェクトへの応用をサポートします。
GISでよく使う数学

Pythonで学ぶベクトルの演算:内積、外積、角度計算とゲームでの応用

Pythonでベクトル演算(内積、外積、角度計算、正規化)の基本を学びながら、それがゲーム開発でどのように活用されているのかを丁寧に解説します。ベクトル演算は、3Dグラフィックスや物理シミュレーション、キャラクターの動きの制御など、ゲームのリアルな挙動を実現するために欠かせない技術です。この記事では、Pythonの人気ライブラリ「numpy」を用いて、簡単なサンプルコードを通じて各演算の仕組みを理解できるよう説明しています。また、内積を使った視線判定や、外積によるポリゴンの法線ベクトルの計算、ベクトルの角度計算による敵キャラクターの視界判定、正規化を用いたキャラクターの移動制御など、実際のゲームシーンでの具体的な応用例も紹介。プログラム初心者からゲーム開発に挑戦したい方まで、スキルアップに役立つ内容が満載です。
GISアプリ

ワールドファイルからシェイプファイルを自動生成

GISにおいてワールドファイル(.gfwファイル)は画像データと地理的な位置を結びつける重要な役割を果たします。本記事では、PythonとGISライブラリ(geopandas、shapely)を活用し、フォルダ内のワールドファイルからポリゴンを生成し、シェイプファイル(.shpファイル)として自動出力するツールについて詳しく解説します。環境設定、スクリプトの内容と各部分の詳細な説明、注意点についても記載しており、地理データの効率的な管理や分析を行いたい方に最適な記事です。
GISアプリ

Pythonで実装されたジオイド補正ツール

このツールは、国土地理院が提供するジオイド計算ツールと同じ精度と機能を持ちながら、Pythonで実装されたバージョンです。 測量やGIS(地理情報システム)を利用する専門家から、地理データの精度を向上させたい研究者まで、誰でも手軽に使えるよう設計されています。
GISアプリ

Pythonでジオコーディング

Pythonでジオコーディングを行う方法を解説。無料API「Geocoding.jp」を利用して、住所から緯度と経度を取得するスクリプトを紹介します。初心者でも簡単に実装可能!
QGIS

QGISプラグインの開発手順

QGISのプラグイン開発ガイド:選択したレイヤーの情報を表示するシンプルなプラグインの作成方法を解説します。ツールバーへのボタン追加からアイコン設定、トラブルシューティングまで、初心者でも分かりやすいステップバイステップのチュートリアルです。ダウンロードリンク付き。
GISアプリ

PythonでGeoJSONをFlatGeobufへ変換する方法

Pythonスクリプトを使用してGeoJSON形式のデータをFlatGeobuf形式に変換する方法を紹介します。FlatGeobufの利点、Pythonでの変換のメリット、スクリプトの詳細な解説を含め、地理空間データの効率的な扱い方を解説します。