マッププロジェクションQGISに応じてジオメトリジェネレーターマーカーラインを回転


8

ジオメトリジェネレーター関数から作成されたマーカーラインを回転したいのですが、ジオメトリジェネレーターを使用してmake_lineを介してラインを作成し、ポイントは計算された値です(属性テーブルフィールドの値に基づく-アジアランベルト正角円錐図法) EPSG:102027)。

EPSG:102027の最初の長方形

受け取った折れ線は長方形(マップキャンバスに平行)である必要がありますが、マップキャンバスでマップ投影を変更すると、これらの点は回転した長方形になります(ラベルは平行です)。

カスタム投影で受け取った長方形

長方形をマップキャンバスに平行になるように回転させる(またはカスタムプロジェクションの属性テーブルのオンザフライ変換ポイント座標を変換する)方法を教えてください。

私の予測: + proj = lcc + lat_1 = 57 + lat_2 = 63 + lat_0 = 0 + lon_0 = 133 + x_0 = 0 + y_0 = 0 + ellps = intl + units = m + no_defs

私のジオメトリジェネレータスタイル: スタイル

変換関数(transform(geom、source_auth_id、dest_auth_id))を使用して(ジオメトリジェネレーターで構築された)ジオメトリを変換しようとしましたが、それでも間違っています:

変換されたジオメトリとラベル

背景を描画するときに、カスタム形状の境界線を描画するための機能は見つかりませんでした-実線のみですが、ポイントマーカー付きの線を取得したいと思います

実線のみ


これを再現するための最小限のシェープファイルを作成して、式が幾何学的な課題にのみ焦点を合わせるように属性を準備できますか?素敵なパズルのように聞こえます!
bugmenot123 2017

はい!ここにcloud.mail.ru/public/JAeg/L97RSjGQsがあります。shpおよびqlrをダウンロードできます。射影式は上記のポストにあります。
ジェーン

ジオメトリジェネレータスタイルで、ボックス内のテキストを折れ線に合わせるためのカスタム関数を使用したので、サンプルファイル(リンク内)で関数を削除しました。関数エディタで関数を作成しないようにしてください(四角形が少しであることを恐れないでください)上記のprintscreensよりも少し大きい)。とにかく、マップの投影を変更すると、四角形はマップキャンバスとボックス内のテキストに平行ではありません
Jane

ありがとう!それをさらに一般的にすることは素晴らしいことです。私が理解していることから、あなたはポイントが属性値から作成されるポイントからボックスを作ろうとしている。変換後にその作業を行うには、変換に応じてポイントのオフセットも計算する必要があります。これはあまりにも複雑で、おそらく狂気につながると思います。ラベリングに「背景を描画」を使用しないのはなぜですか?
bugmenot123 2017

ええ、それは私が実際に望んでいることです。ドローバックグラウンドでは、図形のカスタム境界線を作成する機能はありません-実線のみですが、ポイントマーカーを使用して線を取得します-質問の説明に追加情報を追加します
Jane

回答:


1

質問のタイトルに対する答えではありませんが、望ましい結果に到達するための回避策かもしれません。点線の境界線を持つ長方形のSVGグラフィックを生成し、それをラベルの背景として使用してみましたか?X軸とY軸で個別にスケーリングすることはなく、ドットの数は事前に定義する必要がありますが、再投影による問題は回避する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.