サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
画力アップ
mf-atelier.sakura.ne.jp
通常のウィンドウではなく、非矩形ウィンドウや背景を画像にしたりする方法です。 以下では、めんどくささに応じて筆者がLv.1~4と勝手に分けています。 スタイルいじり Lv.1Lv.1はプロパティを設定するだけで適用できる項目です。 非矩形ウィンドウを作成するには手っ取り早く作るには、まず型抜き用画像を作成します。 型抜き用画像は、ウィンドウの形状を表す部分を描画した画像で、それ以外のところを透過ピクセルにします。 したがって、型抜き用画像は透過(アルファチャンネル)をサポートしたフォーマットで保存する必要があります。 筆者は、Inkscapeでウィンドウの形状を描画して、PNGにエクスポートする方法をお勧めします。 型抜き画像ができたら、ウィンドウクラスのコンストラクタに以下のように適用します。 以下の例ではQDialogクラスに適用しています。 1: 2: MainDlg::MainDl
何かと便利なgdal/ogrユーティリティコマンドの小技集です。 とりあえず筆者が遭遇したものを適当に書いてあります。 詳細はgdalのドキュメントを参照してください。 ベクタデータの座標で、経緯度⇔座標値の変換をするにはogr2ogrコマンドで、フォーマットの変換と同時に座標値も変換することができます。 以下の例は、平面直角座標9系のdgnファイルをGRS80の経緯度のkmlファイルに変換する例です。 > ogr2ogr -f KML -s_srs EPSG:2451 -t_srs EPSG:4019 out.kml in.dgn ShapeファイルならShapeファイルの場合、.prjファイルがあって正しく座標系の情報が記述されていれば、 -s_srsオプションを省略することができます。 gdalがサポートするファイル形式のサポート状況を調べるにはgdalがサポートするフォーマットの一
すぐ忘れる筆者用メモです。 適当に行き会ったものを挙げています。随時追加のつもり。 ラインエディットテキストを入力 QString str; if ( !str.isEmpty() ) { lineEdit->setText( str ); } テキストを取得 QString str = lineEdit->text(); パスワード入力モードにする lineEdit->setEchoMode( QLineEdit::Password ) プロパティなのでQtDesignerで設定が可能です。 チェックボックスチェック状態を取得 if ( checkBox->checkState() == Qt::Checked ) { // チェックされているときの処理 } else { // チェックされていないときの処理 } ファイル選択ダイアログ QFileDialog::Options opti
©2021 This documents by Yamate,N is licensed under a Creative Commons 表示 - 継承 3.0 非移植 License.
4点なら射影変換の式として以下の式を用いる場合、変換元と変換先の対応点が4組であればその座標値から一意にパラメータを求めることができます。 のとき、 //射影変換パラメータを求める。引数は、変換元と変換先の座標値 void CalcProjParam ( int naOrig[4][2], int naTran[4][2], double *dA, double *dB, double *dC, double *dD, double *dE, double *dF, double *dG, double *dH ) { double **dATA, **dATA_I; int i; dATA = new double*[8]; dATA_I = new double*[8]; for ( i = 0; i < 8; i++ ) { dATA[i] = new double[8]; dATA
多数の観測点がある場合多数の観測点のデータで最小2乗法を用いてアフィン係数を計算する例です。 なお、最小二乗法を用いたアフィン係数は以下の計算式を使用しています。 //アフィン変換係数を求める void calc_aff_coef ( vector< Dpoint3d > &orig, //STLを使用、観測値 vector< Dpoint3d > &trans, //変換後、photoCord型は写真座標を格納するクラス double aff_coef[6] //結果のアフィン係数を格納する ) { double **mat; double vect[6] = {0,0,0,0,0,0} double a; int i; mat = (double **)malloc( 3 * sizeof( double *) ); for ( i = 0; i < 3; i++ ) mat[i] =
コマンドラインから変換を行いたい場合はこちらを参照してください。 GeoTIFFでないTIFF画像に位置情報を持たせる場合、 tfwファイルが良く用いられると思います。 これで普通は事足りますが、 何らかの事情で厳密なGeoTIFFファイルを作成したいときもあるでしょう。 いろいろな方法があると思いますが、 ここではMultiSpecを用いる方法を紹介します。 MultiSpecでGeoTIFFを作るにはまずは対象となる画像を読み込みます。 読み込んだら、メニューの「Edit」-「Image Map Parameters」を選択します。 すると、画像の位置情報に関するダイアログが現れます。 tfwファイルがあれば、その情報が読み込まれた状態になっています。 GeoTIFFを作るには、このダイアログに情報を全て入力する必要があります。 下の例は平面直角座標12系の情報を入力した例です。 全て
GDALのogr2ogrコマンドでテーブル全体をkmlにすることはできますが、 PostGISの関数にもST_AsKml()というのがあります。 この関数の引数にgeometryを渡すとkml形式で出力してくれます。 kmlは経緯度しか扱わないので、SRIDが設定されていなければなりません。 SRIDが設定されていれば、平面直角座標系の値でも経緯度に変換して出力されます。 ただし、図形要素部分しか出力しないので、 その他の必要なタグはこちらで用意する必要があります。 なので、完成形のkmlにするには結構手間はかかります。 psqlで-tオプションをつけて -cオプションでSQLを指定して、リダイレクトでテキストに書き出して 編集するか、スクリプトを作るかになるかと思われます。 以下の例はPythonで、psycopg2でSQLを発行してkmlファイルに書き出す例です。 せっかくなのでついで
このページを最初にブックマークしてみませんか?
『mf-atelier.sakura.ne.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く