読者です 読者をやめる 読者になる 読者になる

waigani's diary

QGISを中心にFOSS4Gをいじくる

QGIS

QGISでプラグインを作成する - 環境構築

プラグイン作成の環境構築を行ってみます。 前提 QGISでアプリケーションを作成する - 環境構築まで行っていることを前提としています。 External ToolへQGISを設定 [External Tool Configurations]を開きます。[New Configuration]を作成し、[Name]は何でも…

QGISでアプリケーションを作成する その1

引き続き下記ブログを参考に進めます。 Creating a Standalone GIS Application QtDesignerでGUI作成 Qtのインストールの説明は省きます。 QtDesignerを起動して、[templaets\forms]から[Main Window]を選択し、[作成]をクリック。 左に表示されているwidget…

QGISでアプリケーションを作成する - 環境構築

コンソールからの操作は一旦置いておいて、アプリケーションの作成を行ってみます。下記ブログの内容を試します。 Creating a Standalone GIS Application ただ試すだけだとなんなので、開発環境も整えます。 下記の内容を参考にしました。 Quantum GIS Foru…

QGISでベクトルデータを表示してみる その8

ラベルを付けてみます。 単純にラベルをONにするのは簡単。レイヤーを持ってきて、ラベル表示のフラグをたててあげるだけです。 l = qgis.utils.iface.activeLayer() l.enableLabels(True) qgis.utils.iface.mapCanvas().refresh() "ラベル"と表示されます。…

QGISでベクトルデータを表示してみる その7

QgsSingleSymbolRendererでレイヤー全体に描画設定を適用してみましたが、属性を指定して個別に描画設定を試します。 QgsUniqueValueRenderer を使用します。最初の方はやること同じ。 from PyQt4 import QtGui, QtCore l = qgis.utils.iface.activeLayer() …

QGISでベクトルデータを表示してみる その6

描画の設定を変更してみます。 Qtのクラスを使用することになるので、最初に読み込みます。 Qtのクラス一覧はここを参照しました。 from PyQt4 import QtGui, QtCore まずは、QgsSymbolインスタンスを作成します。 l = qgis.utils.iface.activeLayer() sym =…

QGISでベクトルデータを表示してみる その5

引き続き、図形の座標変更してみます。layer,dataProviderと持ってきてましたが、layerだけからでも出来ます。 並行移動の場合は、QgsVectorLayer::translateFeatureを追加います。 x方向、y方向の移動量と、対象図形のIDを指定します。 l = qgis.utils.ifac…

QGISでベクトルデータを表示してみる その4

図形の座標変更してみます。layer,dataProviderの順に持ってきて、QgsVectorDataProvider::changeGeometryValuesを使ってみました。 対象図形のidをキーに、入れ替えるQgsGeometryを値に指定します。 l = qgis.utils.iface.activeLayer() l.startEditing() p…

QGISでベクトルデータを表示してみる その3

追加と削除してみます。 QgsGeometry.fromPolygonに渡す引数のリストが2重になっていますが、最初のリストがポリゴンの外側、2番目以降のリストが内側のポリゴンになります。穴のあいたポリゴンを作る時は引数を複数渡します。 l = qgis.utils.iface.activ…

QGISでベクトルデータを表示してみる その2

ベクトルレイヤーを表示出来たとして、各featureへのアクセスを行いたい。単純に考え付いたのがこれ。 feature数をfor文の条件にして、IDをキーにfeatureを持ってきて、属性の最初のカラムの内容を表示する。 l = qgis.utils.iface.activeLayer() for i in r…

QGISでベクトルデータを表示してみる その1

コマンドラインで色々いじることから始めましょう。 QGISの"プラグイン"メニューから"pythonコンソール"を立ち上げます。 "use qgis.utils.iface object (instance of QgisInterface class)."と表示されています。 初期状態で、QgisInterfaceのインスタンス …