Jumat, 01 Mei 2020

SISTEM INFORMASI GEOGRAFIS

Nama : Fatimah Yasin
Nim : 17.01.071.034
Tugas : SIG


5.4 Memasukkan SpatialData
Sekarang kita memiliki bidang tata ruang, mari kita mulai menambahkan sesuatu.
Kami akan menggunakan pernyataan INSERT tradisional, dengan satu sentuhan kecil. Kami sudah tahu apa yang diwakili oleh WKT sebagai sesuatu yang mirip;

theColoradostatecapitol, itisPOINT (-104.9871639.73909). Sayangnya, PostgreSQL tidak akan memeriksa string kami untuk kami dan "secara otomatis" menentukan apakah perbedaannya adalah antaraPlainOldStringsandPlainOld StringsThatHappenTerlebih dahulu kami tanyakan keikutsertakan. Fungsi FromText (string, srid):
masukkan ke dalam nilai tes (id, nama, lokasi)
(1, 'Colorado State Capitol', GeomFromText ('POINT (-104.98716 39.73909)', 4326));
Untuk memverifikasi itu berhasil, ketik pilih * dari tes ;:
g4wd = # select * from test;
- [REKAM 1]
id | 1
nama | Colorado StateCapitol
lokasi | 0020000001000010E6C05A3F2DA122FAD74043DE9A8049667B
Nah, um, jelas ada sesuatu yang dimasukkan ke dalam bidang geometri kami. Karena tidak ada kendala wa.
5.5 Querying SpatialData
Ya, saya tidak berpikir Anda akan puas dengan jawaban itu. Yang benar adalah, PostGIS menyimpan semua geodata dalam format biner. Jika representasi teks dari titik tersebut disebut WKT, maka format biner disebut — Anda dapat menebaknya — biner terkenal (WKB).
GeomFromText () sebenarnya membuat objek WKB dari string teks yang kami sediakan. Sisi lain dari GeomFromText () adalah AsText (). Ini mengonversi WKB kembali ke WKT untuk konsumsi manusia:
g4wd = # pilih id, nama, AsText (lokasi) dari tes;
- [REKAM 1]
id | 1
nama | Gedung Colorado State Capitol | POINT (-104.9871639.73909)
Jauh lebih baik, kan? Hanya ada satu hal lagi yang harus kita lakukan, dan ini murni kosmetik. Perhatikan bahwa bidang ketiga sekarang bernama astext? Ini juga akan kembali menghantui Anda suatu hari nanti. "Apa maksudmu kamu tidak dapat menemukan bidang lokasi? Itu ada di sana! " Sesuaikan kueri lebih lama menjadi ini: pilih id, nama, AsText (lokasi) sebagai lokasi dari pengujian ;.

Saat kami memutar ulang di luar dengan format output yang luar biasa, beberapa hal lain mungkin berguna. Apakah Anda memperhatikan bahwa SRID hilang dari bidang lokasi? Menariknya, SRID bukan bagian dari definisi WKT. Jika Anda menyukai SRID yang termasuk dalam output Anda, coba AsEwkt (geom) untuk Extended WKT. (Karena semua data di kolom itu mungkin menggunakan proyeksi yang sama, memiliki SRID yang disertakan dalam output default akan berulang berulang.)
Formula output lain yang dengan cepat mendapatkan popularitas adalah Scalable Vector Graphics (SVG), yang memungkinkan Anda untuk mendefinisikan vektor menggunakan dialek tertentu dari XML. Coba AsSvg (geom) untuk mendapatkan data Anda dikembalikan sebagai fragmen SVG.
Daya tarik SVG adalah bahwa itu adalah standar terbuka, yang dibuat olehW3C.9Firefox1.5 danOpera8 yang sudah mendukungpendukung untuk renderingSVG. AppleSafarishadapatmendukungdenganadimengharusmembaca hal ini. Jika Anda menggunakan browser yang tidak mendukung SVG, Anda dapat mengunduh plug-in gratis dariAdobe.10
Dialek XML lain yang memiliki lebih banyak dukungan arus utama dalam komunitas GIS adalah Geography Markup Language (GML). Ini didefinisikan oleh - siapa lagi? - OGC. Coba AsGml (geom) untuk mendapatkan potongan GML yang terbentuk dengan baik (FormoreaboutGML, lihat Bab 7i, nUgsOGCWebServices, onpage157).
5.6 Introspeksi SpatialData
Mari kita tambahkan beberapa catatan lagi sehingga kita dapat mulai melakukan hal-hal agregat yang menarik:
masukkan ke dalam nilai tes (id, nama, lokasi)
(2, 'Stadion Broncos', GeomFromText ('POINT (-105.02101 39.74630)', 4326));

masukkan ke dalam nilai tes (id, nama, lokasi)
(3, 'foo', GeomFromText ('POINT (-300 400)', 4326));
Apakah pernyataan terakhir itu memberi Anda panas? Ya, metoo.
POINT (-300400) isclearlynotavalidWGS-84POINT.Injustabitwell

tambahkan batasan lain ke tabel Anda yang setidaknya mencoba untuk melarang input yang buruk. (Meskipun, sayangnya, masih membiarkan yang satu ini lolos.)
Sementara itu, mari kita dapatkan beberapa metadata tentang catatan kami. Apa tipe data yang sebenarnya?
g4wd = # pilih GeometryType (lokasi) dari tes;
- [REKAM 1] + ------
geometrytype | POINT
- [REKAM 2] + ------
geometrytype | POINT
- [REKAM 3] + ------
geometrytype | POINT
Pertanyaan itu kembali untukCatatan sebelumnya. Ketidakpastian masuk akal. Proyeksi apa yang digunakan?
g4wd = # pilih SRID (lokasi) dari tes;
- [REKAM 1]
srid | 4326
- [REKAM 2]
srid | 4326
- [REKAM 3]
srid | 4326
Pemandangan itu baik-baik saja - diperkirakan tidak ada gunanya dengan mencari-cari di sekitar berbagai tabel geometri sendiri, tetapi memiliki hanya pertanyaan sederhana saja itu bagus. Dan akhirnya, apakah ada data palsu yang bersembunyi?
g4wd = # pilih IsValid (lokasi) dari tes;
- [REKAM 1]
isvalid | t
- [REKAM 2]
isvalid | t
- [REKAM 3]
isvalid | t
Doh! Whydidtthethirdrecordgetflaggedfalse? Itboilsdowntothat konyol WKT / Proyeksi putuskan. Pasangan koordinat mungkin tidak valid untuk proyeksi tertentu, tetapi secara fisik tidak ada yang salah dengan intinya. Bentuknya bagus, tidak masuk akal.
Sejujurnya, sangat sulit untuk membuat titik cacat. Anda dapat memasok X tanpa Y, tetapi kemungkinan besar Anda akan menangkapnya secara visual. Membuat LINESTRING yang tidak valid lebih mudah — ingat kami mengatakan bahwa ia harus memiliki setidaknya dua poin. Jika Anda membuat LINESTRING hanya dengan satu POINT, IsValid () akan mengembalikan false.
TherulesgetevenmorestringentforPOLYGONs.Youmighthave lebih sedikit dari empat poin. Anda mungkin lupa untuk menutup poligon dengan mengatur titik terakhir ke titik yang sama dengan yang pertama. Anda mungkin memiliki Cincin Bagian Dalam yang berada di luar ExteriorRing Anda.
Jadi, apa jenis introspeksi yang bisa kita buat pada data? Karena kita berurusan dengan POINT, hal yang mungkin ingin kita lakukan adalah mengisolasi X dan koordinat Y:
g4wd = # pilih id, nama, AsText (lokasi), X (lokasi), Y (lokasi) dari tes;
- [REKAM 1]
id | 1
nama | Gedung Colorado State Capitol | TITIK (-104.9871639.73909) x | -104.98716
y | 39.73909
- [REKAM 2]
id | 2
nama | BroncosStadium
astext | POINT (-105.0210139.7463) x | -105.02101
y | 39.7463
- [REKAM 3]
id | 3
nama | foo
astext | POINT (-300 400) x | -300
y | 400
Jika Anda menanyakan LINESTRINGs, Anda memiliki metode seperti Num-Points (), StartPoint (), dan EndPoint () untuk dimainkan. Jika Anda berurusan dengan POLYGONS, Anda dapat meminta ExteriorRing () dan NumInteriorRings ().
Jadi sekarang kita ahli dalam menyisipkan data dengan tangan, mari kita kembali ke salah satu tempat asli pada awal bab ini - shapefile adalah cara yang masuk akal untuk mendistribusikan data, tetapi bagaimana kita bisa menghirup data ke dalam PostGIS?

1 komentar:

  1. assalaualaikum wr wb
    nama : fikri nuryansah
    nim : 17.01.071.037
    kelas : teknik informatika a 2017

    mengenai postingan di atas saya rasa materinya nya kurang bisa di pahami sebab penyampaian yang membingungkan mungkin banyak yang belum di mengerti dan di pahami oleh penulis, dan penulisan yang agak rumit sebab banyak kata yang typo dan juga membuat bingug saat di baca, saya harap postingan ini bisa di perbaiki lagi ya,

    BalasHapus

SISTEM INFORMASI GEOGRAFIS

Nama : Fatimah Yasin Nim : 17.01.071.034 Tugas : SIG 5.4 Memasukkan SpatialData Sekarang kita memiliki bidang tata ruang, mari kita ...