Saya sering menggunakan Query Definisi dalam kehidupan GIS sehari-hari saya, tetapi salah satu dari banyak hal yang saya anggap mengganggu tentang ArcMap adalah ketidakmampuan untuk memberikan komentar pada Definition Queries. Saya ingin memiliki opsi ini karena kadang-kadang saya ingin menghidupkan / mematikan Kueri Definisi atau saya ingin memiliki beberapa Kueri pada satu Shapefile, tetapi hanya satu yang aktif pada satu waktu.
Sejauh ini untuk menyiasatinya, saya biasanya hanya memiliki dokumen notepad di latar belakang dan salin dan tempel seperlunya. Tetapi solusi yang ideal adalah dengan menggunakan tab kueri definisi di properti layer untuk mengganti dokumen ini. Saya mungkin memiliki beberapa kueri berbeda pada sebuah layer, tetapi semua berkomentar.
Seperti yang saya mengerti, Definisi Pertanyaan ditulis dalam SQL. Untuk berkomentar dalam SQL, saya yakin Anda memulai sebuah baris dengan: - atau mencakup pernyataan dalam tanda kurung: {} . Saya sudah mencoba keduanya:
Original: "DATA_AQUISITION" LIKE 'MISSING XSECTION'
Dashes: --"DATA_AQUISITION" LIKE 'MISSING XSECTION'
Brackets: {"DATA_AQUISITION" LIKE 'MISSING XSECTION'}
Dua pernyataan terakhir mengembalikan kesalahan ekspresi SQL dan tidak akan menggambar di ArcMap. Saya tidak mencari solusi pemrograman, karena itu akan terlalu banyak bekerja.
sumber
"OBJECTID" <> -1 OR "DATA_AQUISITION" LIKE 'MISSING XSECTION'
Itu solusi yang bagus, tapi saya mencari sesuatu yang sepertinya lebih seperti komentar yang sebenarnya keluar. Sesuatu yang dapat dilakukan dalam setiap bahasa kode, di mana Anda memiliki beberapa opsi permintaan pada baris yang berbeda dan semuanya kecuali satu dikomentari. Jika itu tidak mungkin, maka jadilah itu, tapi saya percaya itu akan menjadi pilihan yang bagus untuk dimiliki.Jawaban:
Hanya tebakan, tetapi alasan mengomentari itu tidak berfungsi mungkin karena permintaan definisi hanyalah bagian klausa WHERE dari pernyataan SQL yang lebih besar yang dibangun secara internal oleh ArcGIS setiap kali perlu query database yang mendasarinya, misalnya untuk menggambar lapisan . Ketika Anda menambahkan karakter komentar, ArcGIS masih menambahkan klausa WHERE dan DB aneh yang mendasarinya karena itu bukan SQL yang valid.
Pada dialog Pembuat Kueri ada tombol muat dan simpan. Simpan membuat file .exp yang kemudian dapat Anda muat kembali dengan tombol Load. Ini beberapa klik lebih banyak daripada yang mungkin Anda cari tetapi itu sesuatu.
sumber
SELECT * FROM table WHERE
SQL tidak valid adalah apa yang saya maksudkan. Pasti ada sesuatu yang mengikuti kata kunci WHERE, atau kata kunci WHERE tidak perlu ada sama sekali. ArcGIS mungkin menambahkan DIMANA jika ada apa pun dalam Definisi Permintaan.SELECT * FROM table WHERE "OBJECTID" <> -1 --"DATA_AQUISITION" LIKE 'MISSING XSECTION'
danSELECT * FROM table WHERE "OBJECTID" <> -1 {"DATA_AQUISITION" LIKE 'MISSING XSECTION'}
keduanya menghasilkan kesalahan yang sama. Ada sesuatu yang mengikutiWHERE
, tetapi masih tidak dapat menangani komentar.1 = 1 /*"DATA_AQUISITION" LIKE 'MISSING XSECTION'*/
. Bekerja untuk saya di Oracle. Bagian1 = 1
diperlukan, hanya menggunakan komentar tidak berfungsi (Kesalahan Ekspresi Hilang).Blokir comment / .. / tampaknya berfungsi selama Anda memiliki sesuatu di kueri definisi Anda. Jika Anda berkomentar semuanya, Anda harus memberi 1 = 1 sebelum baris komentar Anda
Contoh:
Semua berkomentar:
1 tanpa komentar, 2 berkomentar:
2 tanpa komentar, 1 berkomentar:
Cukup pindahkan "/ " dan " /".
sumber
XTools pro, add-on non-ESRI memiliki fitur yang memungkinkan untuk mengaktifkan / menonaktifkan querry definisi pada layer. Sangat berguna.
Anda juga dapat menyalin / menempelkan permintaan definisi Anda di tab properti Layer "General". Ada jendela di sana untuk "Deskripsi" yang sering tidak digunakan. Saya sering menyalin / menempel pertanyaan definisi saya di sana ketika saya harus mematikannya. Ada yang tersimpan di dokumen
sumber