Bir şekil dosyasındaki özelliklerin sırası nasıl değiştirilir?


18

Bir şekil dosyam var ve özelliklerin sırasını değiştirmek istiyorum. Mümkün mü?

Şekil dosyasındaki özellikleri sıralamak istiyorum çünkü bu şekil dosyasını bir mobil uygulamaya yerleştiriyorum. Uygulama, özelliklerin bir listesini görüntüleyecek ve yükleme zamanında sıralama yapabilsem de, bunların sıralanmasını tercih ederim.


4
Amaç meşru, ortalama değil. Bunların sıralanmasına ihtiyacınız varsa, bir sorgunun sonucunu kullanın, sıralandıklarını ve sıralı kalacağını varsaymayın.
GuillaumeC

Yanıtlar:


6

Nitelik tablosunu her zaman ArcMap'te açabilir ve sütun başlığını sağ tıklayıp tek alanlar için Artan Sıralama ... / Azalan ... seçeneğini belirleyebilirsiniz.

Birden çok alan için, birden çok alan seçmek için Gelişmiş Sıralama'yı tıklarsınız.

NOT: Örneğin, yukarıdaki yöntemi kullanırken geçerli sıralamaya (sıralı, yalnızca bu haritada / mxd'de depolanan) dayalı sıralı bir kimlik alanı eklemek, özellik sınıfının orijinal OID / ObjectID'si tarafından sıralanacaktır.

Kayıtları kalıcı olarak sıralayacak ve yeni bir şekil dosyası gönderecek bir ArcScripts var: http://arcscripts.esri.com/details.asp?dbid=16771

Umarım 'özelliklerin sırasını' belirttiğinizde, bu özellik tablosunda bulunan ve içerik / semboloji düzeyleri tablosu için çizim sırası değildir.



7

GDAL / OGR komut satırı aracını kullanarak yeni ve sıralı bir şekil dosyasını yeniden yazmak için bir çözüm ogr2ogr.

Örneğin, bir şekil dosyasının sıralanacak orig.shpsayısal bir alanı vardır volume. Bu belirli SQL ifadesi, DESCbüyük volumedeğerlere sahip özelliklerin küçük değerlere sahip özelliklerin önüne (altına) çizilmesi için ters sıralama (ile ) yapar :

ogr2ogr -sql "SELECT * FROM orig ORDER BY volume DESC" sorted.shp orig.shp

5

Bir arcinfo lisansına erişiminiz varsa , kayıtları yeni bir şekil dosyalarına veya gdb fc tabanlı uzamsal veya öznitelik sıralamalarına yazan (Veri Yönetimi araç kutusunda) Sırala'yı kullanabilirsiniz.


ne yazık ki şekillerle değil, FGDB ile çalışır
tato

1
tato, araç giriş ve çıkış olarak fgdb veya şekil dosyası ile çalışır, yukarıdaki yorumunuzun anlamı hakkında hiçbir fikrim yok.
gotchula


2

Bir şekil dosyası katmanını sıralamak için çok, çok hızlı ve kolay bir yöntemdir (çeşitli alanları kullanarak).

1 - Şekil dosyasını CSV'ye aktarın (noktalı virgül gibi iyi bir ayırıcı seçin) ve "katman seçenekleri" -> "WKT OLARAK" kullanarak GEOMETRY ekleyin

resim açıklamasını buraya girin

2 - file.csv dosyasını LIBREOFFICE (calc) ile açın ve MENU-> DATA-> SORT'u kullanın (çok sezgisel, güçlü ve ÇOK HIZLI (Sıralama tuşu, artan ve azalan seçenekler gibi 3 sütun kullanarak anında 50000 özelliği sıralayın ve i çok yavaş bir defter var;))

3 - Dosyayı tekrar LIBREOFFICE (calc) 'dan "Metin CSV" olarak kaydedin ("Filtre ayarlarını düzenle" olarak işaretleyin ve ayırıcıyı' noktalı virgül 'olarak seçin, libreoffice'ten uyarı önemli değil, CSV gibi kaydedin ve ayırıcı olarak' noktalı virgül 'seçin

4 - Qgis 'Yeni Katman Ekle' menüsünden yeni file.csv dosyasını (ve sıralı) açar -> Sınırlayıcı Metin Katmanı Ekle.

Artıları: - Çok, çok hızlı, çeşitli alanlardan sıralamak - UTF_8 kodlanmış verilerle tamam çalışır

İNŞAAT: - LIBREOFFICE gerekir (ama açık kaynak kodlu bir yazılımdır)

Konsolu (BASH) kullanarak sıralamak (alternatif noktaları 2 ve 3 ve en hızlısıdır) için alternatif yöntem

  • Konsolu açın ve file.csv dosyanızın olduğu yere gidin

    Anahtarla sıralama dosyasını istediğinizi varsayalım:

    Alanı6 (dan) + field1 (ascen) + alan3 (desce)

    böylece komut şöyle olacaktır:

    sort -t ';' -k6,6r -k1,1 -k3,3r file.csv> file_sort.csv

    NOTLAR:

    • "sıralama anahtarınıza" ihtiyacınız olan her sütun numarası için 'n' (alan) için -kn, n ekleyebilirsiniz.
    • her n'den sonra 'r' eklenirse, n ters modda (iniş) sıralanır
    • Kullanılan karakter ayırıcısını -t param ile csv dosyasına geçirmelidir

Bash (console) kullanarak LibreOffice olmadan sıralamak için alternatif yöntem:
Juanma Font

-3
  1. Verileri csv olarak dışa aktarma
  2. Excel ile aç Veriye git ---- Sırala --- Seçimi genişlet ve bitti
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.