GIS奮闘記

元GISエンジニアの技術紹介ブログ。主にPythonを使用。

スポンサーリンク

ArcPyを使用してフィーチャクラスの情報をCSV出力する

さて、本日は「ArcPyを使用してフィーチャクラスの情報をCSV出力する」です。実際に業務では数十個のフィーチャクラスがあり、それぞれにサブタイプなどを設定していたりします。例えば、サブタイプごとのアイテム数を抽出したい場合、一つ一つ確認していく…

【PythonとSQL】Zmap-TOWNⅡをファイルジオデータベースに変換して住所データ(地番戸番)を抜き出す方法 ~やっぱり便利なPandas~

さて、本日はZmap-TOWNⅡから住所データ(地番戸番)を抜き出してみようと思います。大変便利なZmap-TOWNⅡですが、これの住所一覧が欲しいなぁと思ってもゼンリンさんはそんなデータは用意してくれていませんね。なら自分で作ってしまいましょう! Zmap-TOWNⅡを…

ArcGISコミュニティの発足 ~Q&Aや情報交換用のFacebookグループ~

このたびArcGISコミュニティを発足することになりました。 ArcGISは便利なエンジンですが、世に出回る情報量の少なさが玉に瑕ですよね(あったとしても英語ばかりといったことも多々)。ですので、困った時に質問や情報収集が出来るコミュニティの存在が必要…

【GISとPython】pandasで気象庁の震度データベースをスクレイピングして震源をマップにプロットする

さて、本日はpandasでHTMLの表をスクレイピングしてみようと思います。スクレイピングだったらBeautifulSoupやlxmlなどが有名ですが、HTMLの表をスクレイピングするのは割と面倒くさい作業です。「気象庁の震度データベース」というちょうどいいサンプルがあ…

【ArcMapとArcpy】オープンデータを使って自分だけの地図を作ろう! ~阪神・淡路大震災編~

さて、本日は神戸市のオープンデータを利用してみようと思います。阪神・淡路大震災「1.17の記録」に阪神・淡路大震災の記録写真が公開されています。前回行ったようにこの写真にジオタグを追加して、その緯度経度にポイントを配置してみます。 データのダウ…

Pythonで画像ファイルにジオタグ(geotag)を追加しよう!

本エントリー作成時にはサンプルコードが正しく動作したのですが、現状、正しく動作が判明しないことがわかりました。以下エントリーの方法で同じことが実現できますので、こちらを参照してください。www.gis-py.com さて、本日は「Pythonで画像ファイルにジ…

【ArcMapとArcpy】オープンデータを使って自分だけの地図を作ろう! ~factbook編~

今回はfactbookを使用してみようと思います。factbookとは世界各国に関する情報を年鑑形式でまとめたアメリカ合衆国中央情報局 (CIA) の年次刊行物のことです。こんな便利なものが公開されているのですね。 ダウンロード 以下サイトからダウンロードします。…

PythonでArcObjectsを使ってみよう!

本日はPythonでのArcobjectsの使用方法を書いてみたいと思います。PythonだとArcpyしか使えず、ちょっと難しいことをやろうと思うと途端にその貧弱さが露呈してしまいましたが、ArcObjectsを使えば大丈夫?!なはずです。それじゃあ最初から.NETで開発しろよ…

【ArcMapとArcpy】オープンデータを使って自分だけの地図を作ろう! ~世界の空港編~

今回はオープンデータについてです。オープンデータとは誰もが自由に利用でき、再利用や再配布が許可されているデータのことを指します。つまり、「著作権フリーで自由に利用可能」ということです。素晴らしいですね!オープンデータをうまく活用すれば地図…

【Pythonで分析】ArcpyとPandasを使用して将来推計人口を視覚化する

本日は将来推計人口について考えてみます。将来推計人口とは、国連や各国政府が推計した将来の人口のことです。日本では、直近の国勢調査による人口数を基に、出生率や死亡率などを考慮して推計し、国立社会保障・人口問題研究所がほぼ5年ごとに作成、公表し…

Pythonで基盤地図情報の数値標高モデルを解析してGeoTiffに変換する(横須賀編) ~Numpy、GDAL、Arcpyを駆使して横須賀の標高(地盤高)を視覚化する~

今回は数値標高モデル(DEM)の解析を行ってみたいと思います。数値標高モデル(DEM)とは地形のデジタル表現のことで我らが国土地理院が公開しています。参考までにですが、これは火星のティトニウム・カズマの数値標高モデル(DEM)を三次元表示した画像です。 …

Arcpyを使用してJ-SHISの表層地盤データを分析してみよう(横須賀編) ~ArcpyでShape読込、Shape出力、属性検索、空間検索、フィールド演算~

本日はJ-SHISと地盤についてです。ご存じの方も多いかも知れませんが、J-SHISとは「地震防災に資することを目的に、日本全国の「地震ハザードの共通情報 基盤」として活用されることを目指して作られたサービス」です。ここから全国の地盤データをダウンロー…

Pythonでのモジュールとパッケージの作成

本日は「Pythonでのモジュールとパッケージの作成」です。簡単なスクリプトなら一つのファイルで十分なのですが、ある程度の規模になるとクラスを分けたくなりますよね。そこでパッケージとモジュールです。今回はパッケージとモジュールの作り方について書…

Pythonで緯度経度を平面直角座標(XY座標)に変換する

明けましておめでとうございます。新年最初の投稿は「Pythonで緯度経度を平面直角座標(XY座標)に変換する」です。Pythonでジオコーディングをやってみる - GIS奮闘記で取得した緯度経度を平面直角座標に変換したいと思います。 pyprojのインストール pypro…

投影法、座標系、測地系、それぞれの違いについて

今回はGISの基本的な概念である「投影法、座標系、測地法」とそれぞれの違いについて書いてみようと思います。GISに関わっているとこれらの用語には必ず出くわすと思います。 しかし、それぞれの違いについてよくわからない、という方も多いのではないでしょ…

GDALでGeoTiffを作ってみよう!

さて、本日は「GDALでGeoTiffを作ってみよう!」です。 GDALとはラスターデータのメタデータの検索や、データフォーマットの変換などが可能になる便利なソフトです。 何を言っているかわからないって?!とりあえずGDALっていうソフトを使うとGeoTiffが作れ…

【Pythonで画像処理】Pillowを使用してシンボル一覧を作成する

本日は「【Pythonで画像処理】Pillowを使用してシンボル一覧を作成する」です。Pillowとは、Pythonの画像処理ライブラリで、Python Imaging Library (PIL)のforkプロジェクトです。PILは開発が停滞しPython2.7までの対応にとどまっていますが、PillowはPytho…

Arcpyでフィーチャクラスの座標系を一括で変換する

さて、本日は「Arcpyでフィーチャクラスの座標系を一括で変換する」です。久しぶりにArcGISネタですね。なんとArcMap上ではフィーチャクラスごとにしか座標系の定義をすることができないので、フィーチャクラスが大量に存在している場合、座標系の変換はとて…

PythonでRSSを使用してアンテナサイトを作る

本日はアンテナサイトを作ってみます。アンテナサイトを作るにはRSSを利用します。RSS - Wikipedia こんなものを用意してくれているなんて便利な世の中ですね。アンテナサイトといえば2ちゃんねるのまとめを対象としたものが多い気がしますが、本ブログはGI…

PythonでTwitterデータを取得しマップ上で表現する

さて、本日は「PythonでTwitterデータを取得しマップ上で表現する」です。つまり、ツイート情報から緯度経度を取得し、その緯度経度ごとにポイントを配置してみようと思います。手順は以下を参照してください。 Twitter APIに接続するためのアカウント情報取…

PythonでMongoDBを弄ってみる

今回はMongoDBについてです。MongoDBって最近よく聞くけど一体何なの?!という方もまだ多いかと思います。MongoDBは,いわゆる「ビッグデータ」を処理可能なパフォーマンスをもつNoSQLの性能と,RDBMSのもつ豊富な機能をバランスよく取り込んだソフトウェア…

Pythonでスクレイピングした結果をGoogleMapに反映してみた

本日はPythonでスクレイピングした結果をGoogleMapに反映してみました。具体的に言いますと、スクレイピングした情報(緯度経度)の位置にGoogleMap上でマーカーを作成します。スクレイピングについては以下ご参照ください。 ウェブスクレイピング - Wikiped…

GoogleMapsAPIを使ってみよう

本日はGoogleMapsAPIを使ってみたいと思います。 GoogleMapsAPIとは簡単に言うと「GoogleMapを自分のサイトでも使ってみたい」という方向けにGoogleが無償公開している便利なものです。飲食店のサイトなんかによくあるあれですね。さて、前回はジオコーディ…

Pythonでジオコーディングをやってみる

本日はPythonでジオコーディングをやってみたいと思います。ジオコーディングって何?という方は以下をご参照ください。 「ジオコーディング(英語: geocoding)は、各種情報に対して、関連する地理座標(典型的には緯度・経度)を付加すること、およびこれ…

PyPyを試してみる

今回はPyPyについてです。Pythonのいいところは手軽さだったり、ライブラリの豊富さだったりあげたらきりがありません。しかし、Pythonには遅いという欠点があります。ここはスクリプトということで致し方ないところはありますが、GISでも大量のデータを扱う…

PythonスクリプトのEXE化

さて、前回はWxpythonのインストールについてでしたが、今回は作ったスクリプトをEXEに変換する方法を書きたいと思います。これでArcpyをGUIで動かすことができますね。変換にはpy2exeというライブラリを使用します。■py2exeのダウンロード 下記リンクよりpy…

ArcpyをGUIで動かす

Arcpyをツールボックス化することはできると思いますが、ツールボックスだとArcMap上でしか使用できないなど様々な制約があります。なのでどうしてもGUIアプリケーションを作成したくなりますよね。そこでwxPythonです。本日はwxPythonのインストールを行い…

ArcMapでTIFFをGDBに取り込む方法

本日はArcMapでTIFFファイルをGDBに取り込む方法を書いてみます。GISの仕事をしているとけっこう画像系のファイルを扱うことがありますね。 まずはツールボックスからラスタデータセットを作成します。 以下のように対象のGDBにラスタデータセットを作成して…

ビッグデータとGIS

今日、ビッグデータという言葉をよく耳にするようになったのではないでしょうか。 ただ、聞いたことはあるけど、抽象的すぎてよくわからない、という方が大半かと思います。 私も説明しろと言われたらどう説明していいかちょっとわからないですね。 ビッグデ…

航空写真とは

航空写真、あまり聞きなれない言葉だとは思いますが、皆さん一度は見たことがあるのではないでしょうか。航空写真とは、一般的に飛行機に搭載した航空カメラを使って撮影された写真のことを指します。GIS関係の仕事をしていると航空写真ってけっこう見とれて…