Putar garis penanda generator geometri tergantung pada proyeksi peta QGIS

8

Saya ingin memutar garis penanda yang terbuat dari fungsi generator geometri: masalahnya adalah, dengan generator geometri saya membuat garis melalui make_line dan poin adalah nilai yang dihitung (berdasarkan nilai dalam bidang tabel atribut - di proyeksi proyeksi Lamic Conformal Conic Asia Lambert EPSG: 102027).

persegi panjang awal di EPSG: 102027

Linestring yang diterima harus berbentuk persegi panjang (sejajar dengan kanvas peta), tetapi ketika mengubah proyeksi peta dalam kanvas peta, akibatnya titik-titik ini membentuk persegi panjang yang diputar (walaupun labelnya paralel)

menerima persegi panjang dalam proyeksi kustom

Bagaimana saya bisa memutar (atau mungkin koordinat titik transformasi on-fly dalam tabel atribut dalam proyeksi kustom) persegi panjang saya sehingga paralel dengan peta kanvas?

Proyeksi saya: + proj = lcc + lat_1 = 57 + lat_2 = 63 + lat_0 = 0 + lon_0 = 133 + x_0 = 0 + y_0 = 0 + ellps = intl + unit = m + no_defs

Gaya generator geometri saya: gaya

Saya mencoba untuk mengubah geometri saya (dibangun dengan generator geometri) melalui fungsi transformasi (transform (geom, source_auth_id, dest_auth_id)) tetapi tetap saja salah:

geometri dan label yang diubah

Di latar gambar, saya tidak menemukan fungsionalitas untuk menggambar garis bentuk kustom - hanya garis padat, tapi saya ingin mendapatkan garis dengan spidol titik

hanya garis yang solid

Jane
sumber
Bisakah Anda membuat shapefile minimal untuk mereproduksi ini dan menyiapkan atribut sehingga ekspresi hanya fokus pada tantangan geometris? Kedengarannya seperti puzzle yang bagus!
bugmenot123
Iya! Di sini Anda cloud.mail.ru/public/JAeg/L97RSjGQs Anda dapat mengunduh shp dan qlr, formula proyeksi ada di pos di atas.
Jane
Saya menggunakan gaya generator geometri fungsi kustom saya untuk memasukkan teks ke dalam kotak untuk linestring, jadi dalam contoh file (dalam tautan) saya menghapus fungsi saya karena Anda tidak membuat fungsi dalam editor fungsi (jangan takut bahwa persegi panjang sedikit sedikit lebih besar daripada di printscreens di atas). Pokoknya, ketika mengubah proyeksi peta, persegi panjang tidak sejajar dengan memetakan kanvas dan teks dalam kotak
Jane
Terima kasih! Akan lebih bagus untuk membuatnya lebih umum. Dari apa yang saya mengerti Anda mencoba membuat kotak dari titik di mana titik dibuat dari nilai atribut. Setelah pekerjaan itu setelah transformasi akan mengharuskan Anda untuk juga menghitung offset untuk poin tergantung pada transformasi. Saya pikir ini terlalu rumit dan mungkin mengarah ke kegilaan. Mengapa tidak menggunakan "Draw Background" dalam pelabelan?
bugmenot123
Ya, itulah yang sebenarnya saya inginkan. Di latar gambar, tidak ada fungsi untuk membuat batas khusus untuk bentuk - hanya garis padat, tapi saya ingin mendapatkan garis dengan spidol titik - saya menambahkan beberapa informasi lebih lanjut tentang hal itu dalam diskripsinya pada pertanyaan
Jane

Jawaban:

1

Bukan jawaban untuk judul pertanyaan, tetapi mungkin solusi untuk mencapai hasil yang diinginkan. Sudahkah Anda mencoba membuat grafik SVG persegi panjang dengan batas bertitik dan menggunakannya sebagai latar belakang label? Ini tidak akan skala secara mandiri pada sumbu X dan Y, dan jumlah titik harus ditentukan sebelumnya, tetapi Anda harus menghindari masalah yang disebabkan oleh proyeksi ulang.

Andy Harfoot
sumber