Proyeksi seperti fisheye

12

Saya memerlukan proyeksi khusus untuk keperluan presentasi yang efektif di poster. Saya ingin menyajikan area studi (Republik Ceko) dalam konteks seluruh Eropa sedemikian rupa, sehingga Republik Ceko mengambil area terbanyak (seperti 70%) di pusat, dan seluruh Eropa ada di sekitarnya, tapi sangat kecil. Yaitu seperti distorsi besar-besaran yang menguntungkan republik Ceko, seperti lensa mata ikan, ketika Anda menempatkan mereka dekat dengan beberapa objek dan mereka akan memperbesarnya secara besar-besaran dibandingkan dengan sekitarnya.

Apakah ada proyeksi yang dapat saya gunakan untuk tujuan ini di Quantum GIS? EPSG atau formula dalam standar (yang dapat digunakan dalam QGIS) diterima.

Tomas
sumber
1
Anda bisa membuatnya dengan cartogram jarak atau area . Saya tidak mengetahui adanya solusi QGIS. Anda juga dapat membuatnya melalui transformasi kustom sederhana dari koordinat, jika Anda tahu cara memprogram hal-hal seperti itu. Tidak ada proyeksi standar yang akan membuat peta seperti itu untuk Anda, karena ada distorsi ekstrem yang terlibat.
whuber
1
Ini bisa dilakukan, tetapi Anda harus pintar tentang hal itu. Dengan memulai dalam koordinat yang diproyeksikan dan kemudian tidak memproyeksikan dengan proyeksi yang menggunakan spheroid yang lebih kecil, Anda dapat membuat sebagian kecil dunia tampak seperti belahan bumi. Memproyeksikan kembali koordinat yang dihasilkan dengan hampir semua proyeksi yang cocok untuk belahan bumi itu akan berhasil. Apa yang Anda peroleh dalam hal tidak harus membuat kode transformasi koordinat apa pun Anda sendiri harus seimbang terhadap (a) harus melakukan banyak percobaan-dan-kesalahan percobaan dan (b) memiliki kontrol minimal atas distorsi di sekitar tepi.
whuber
4
Saya akan menggunakan rute cartogram. Alat sederhana dengan implementasi yang siap. Buat nilai untuk perwakilan Republik Ceko. jauh lebih besar dari seluruh Eropa: scapetoad.choros.ch
HeikkiVesanto
1
Jika Anda tidak dibatasi oleh raster di peta itu, maka cara untuk pergi adalah mengekspor ke SVG dan menggunakan Inkspace atau editor grafik vektor lainnya untuk membuat efek kaca pembesar. Jika Anda bekerja dengan vektor, tidak akan ada masalah piksel jelek. +1 untuk Republik Ceko :)
Miro
1
Berikut ini adalah tutorial untuk CorelDraw: youtube.com/watch?v=YE9hu1g20Gc , di Inkscape Anda akan mendapatkan hasil serupa dengan deformasi amplop: wiki.inkscape.org/wiki/index.php/Envelope_Deformation
Miro

Jawaban:

6

Meskipun bukan mata ikan, Anda bisa menjadikan gaya peta ini sebagai kartogram.

Manfaat dari ini adalah bahwa ada alat yang siap pakai untuk pekerjaan itu dan akan bekerja dengan set dataset yang kuat.

Jadikan nilai untuk Republik Ceko jauh lebih besar daripada bagian Eropa lainnya, sesuaikan nilainya dengan kebutuhan.

Alat yang hebat untuk ini adalah: ScapeToad

masukkan deskripsi gambar di sini

HeikkiVesanto
sumber
Terima kasih Vesanto, inilah tepatnya yang saya butuhkan! :-) Alat yang siap digunakan dan mudah digunakan! Saya akhirnya menggunakan ini. Dan itu sangat mirip mata ikan bagi saya :-)
Tomas
Satu-satunya hal yang perlu diperhatikan adalah bahwa itu sangat sangat lambat, jadi saya harus memilih pengaturan paling lambat dan bahkan menurunkan jumlah sel kisi secara manual .. tapi itu terlihat hebat. Satu-satunya hal yang saya sesalkan adalah tidak mudah melakukan ini dengan raster.
Tomas
2
Anda dapat mempercepat dengan menggunakan qgis untuk menyederhanakan geometri, atau menggunakan shapefile resolusi lebih rendah (seperti 50m atau 110m dari Natural Earth)
Steven Kay
8

Anda dapat mencoba salah satu Magnifying Glassproyeksi Snyder yang terdapat di http://www.csiss.org/map-projections/Azimuthal.html No 32 hingga 36.

Mereka didasarkan pada publikasi ini: https://pubs.er.usgs.gov/publication/70014498

Saya tidak yakin apakah ada sumber daya online dengan rumus.

Peta Logaritma Hägerstrand mungkin juga sesuai dengan kebutuhan Anda: http://www.ncgia.ucsb.edu/projects/tobler/Projections/sld105.htm

Atau proyeksi akar azimut persegi: http://www.ncgia.ucsb.edu/projects/tobler/Projections/sld109.htm

Referensi dapat ditemukan di http://www.cartoperspectives.org/index.php/journal/article/download/cp59-tobler/307 dan dalam "Desain Proyeksi Peta Skala Kecil" oleh Frank Canters (tersedia dari buku-buku Google).

AndreJ
sumber
Andrej terima kasih! Itu semua terlihat sangat menarik! Tetapi tanpa formula atau epsgs atau cara mudah lainnya bagaimana menggunakannya saya tidak akan dapat menggunakannya :-(
Tomas
1
Tidak akan ada kode EPSG (tidak ada pencarian minyak akan dilakukan dengan peta-peta itu!), Tetapi Anda dapat melihat publikasi.
AndreJ
7

Inilah pseudo-fisheye yang dilakukan di Postgres / Postgis. Saya menggunakan plugin QChainage untuk membuat 1000 poin di sepanjang setiap perbatasan negara. Titik-titik diproyeksikan kembali di sekitar pulau nol (0,0) menggunakan logaritma jarak, tetapi dengan azimuth diawetkan.

masukkan deskripsi gambar di sini

Saya menggunakan Plat Caree untuk membuatnya melingkar, karena wgs84 memberikan penampilan yang lebih ellipsoid.

select
    st_asewkt(
        st_endpoint(
            st_scale(
                st_rotate(
                    st_makeline(
                        st_setsrid(st_makepoint(0,0),4326),
                        st_setsrid(st_makepoint(0,1),4326)
                    ),
                    st_azimuth(
                        st_setsrid(
                            st_makepoint(0,0),
                            4326
                        )
                        ,
                        ST_translate(geom,-15.0,-50.0)
                    ) 
                ),
                -(1.0+(7.0*log(ST_Distance(st_setsrid(st_makepoint(0,0),4326),ST_translate(geom,-15.0,-50.0))))),
                (1.0+(7.0*log(ST_Distance(st_setsrid(st_makepoint(0,0),4326),ST_translate(geom,-15.0,-50.0)))))

            )   
        )
    ) as pt

from
    qqq3lines
Steven Kay
sumber
menarik, terima kasih Steven! Bisakah itu dibuat lebih sehingga Rep Republik bahkan lebih besar dibandingkan yang lain?
Tomas
@ Thomas ya ... Anda perlu men-tweak konstanta yang saya gunakan di st_scale () .. coba tambah 1.0 menjadi 2.0, dan kurangi 7.0 menjadi sesuatu yang lebih kecil.
Steven Kay
1

D3 memiliki plugin distorsi fisheye , yang saya temukan oleh Googling "svg fisheye transform" .. Ini mungkin berguna untuk situasi Anda. Pada dasarnya, saya menyarankan untuk mengubah beberapa shapefile Anda ke SVG (atau GeoJSON?) Membuat peta Anda menggunakan pustaka D3.js yang semakin populer.

Pemikiran saya adalah, saya tahu geometri batas negara dapat dikonversi ke tipe vektor SVG, dan saya curiga bahwa sebagai SVG, mungkin ada pendekatan yang lebih cocok untuk mengimplementasikan transformasi mata ikan yang Anda inginkan.

Saya setuju dengan komentator lain bahwa ilustrasi / perangkat lunak grafis lebih cocok untuk skenario Anda, dan karena D3 bekerja dengan beberapa format data umum (SVG dan GeoJSON), mungkin memberikan solusi untuk Anda.

elrobis
sumber
terima kasih, tetapi bukankah D3 perpustakaan untuk programmer, untuk pembuat web? Saya mungkin membutuhkan program yang akan membuat satu gambar untuk saya, mungkin tanpa perlu pemrograman.
Tomas
@ Thomas, cukup adil. Karena pertanyaan Anda hanya berjudul "Proyeksi mirip mata ikan", maka, ia akan memiliki peringkat pencarian yang kuat di google untuk pertanyaan serupa, yang seiring waktu kemungkinan akan mencakup beberapa pengembang. Akhirnya jawaban ini mungkin berguna bagi orang lain.
elrobis
0

Saya pikir Anda perlu distorsi ekstrem agar Republik Ceko terlihat seperti itu. Ada teknik "proyeksi stereografi" fotografi yang cukup populer yang kadang-kadang digunakan dalam fotografi panorama untuk menciptakan "dunia bola" yang dapat berfungsi jika Anda menggunakan hasilnya sebagai overlay di Eropa. (Jangan menganggap ini sebagai jawaban karena ini murni hipotetis dan saya belum pernah mencobanya dengan peta) Juga, ini akan lebih berupa proyek pengeditan grafik / foto karena Anda mungkin harus memotret peta cetak Anda atau mungkin mengekspornya keluar dari GIS ke gambar beresolusi tinggi lalu menyalin dan memotong serangkaian gambar di sekitar titik pusat (berpusat pada area seragam di tengah dengan tumpang tindih yang memadai) sehingga dapat digunakan sebagai input ke dalam fungsi panorama. Setelah Anda memiliki "proyeksi stereografi"

Tentu saja Anda perlu menambahkan label setelah fakta di Illustrator, Corel Draw atau dengan mengimpor gambar terakhir sebagai raster kembali ke GIS dan membuat beberapa grafik / anotasi.

Google "panorama proyeksi stereografis" untuk melihat contoh.

Berikut ini adalah contoh tutorialnya: http://www.photographymad.com/pages/view/little-planet-photos-5-simple-steps-to-making-panorama-worlds

masukkan deskripsi gambar di sini

Jakub Sisak GeoGraphics
sumber