FeatureView Optimizasyonu

FeatureCollection dosyasını FeatureView öğesi olarak dışa aktarırken, belirli bir yakınlaştırma düzeyinde hangi özelliklerin oluşturulacağına (inceltme) ve çakışık özelliklerin nasıl sıralanacağına (z sırası) öncelik veren parametreler ayarlayabilirsiniz. Bu ayarlar, FeatureView nesnelerinin hızını ve görüntüleme özelliklerini etkiler. Aşağıdaki bölümlerde optimizasyon parametreleri açıklanmakta ve harita karolarının kesikli çizgilerle, görünür özelliklerin kalın çizgili poligonlarla ve atlanan (inceltilmiş) özelliklerin kesikli çizgili ve doldurulmamış poligonlarla gösterildiği kavramsal diyagramlar kullanılarak bu parametrelerin etkileri gösterilmektedir.

Aşağıdaki kod bloğu, bu sayfada açıklanan optimizasyon parametrelerinin vurgulandığı bir FeatureCollection - FeatureView dışa aktarma örneğidir.

Export.table.toFeatureView({
  collection: fooFc,
  assetId: 'foo-featureview-demo',
  description: 'foo-featureview-demo',
  maxFeaturesPerTile: 1500,
  thinningStrategy: 'HIGHER_DENSITY',
  thinningRanking: ['my-property DESC'],
  zOrderRanking: ['my-property DESC']
});

Kart başına maksimum özellik sayısı

Kart başına maksimum özellik (maxFeaturesPerTile) parametresi, tek bir harita kartında oluşturulacak maksimum özellik sayısını tanımlar. Bu değer bir üst sınırdır ve seyreltme stratejisine bağlı olarak önemli ölçüde daha düşük olabilir. Bu değer 1 ile 2.000 arasında herhangi bir değere ayarlanabilir. Daha yüksek değerler, karo başına daha fazla özellik gösterir ancak karoların yüklenmesi daha uzun sürer.

Aşağıdaki tabloda, maxFeaturesPerTile parametresinin değeri azaldıkça her harita karosuyla kesişen özelliklerin sayısının da azaldığına dikkat edin. Bir karoda maksimumdan daha az, ancak maksimumdan fazla veri bulunamaz.

Tüm özellikler (referans için)

maxFeaturesPerTile: 5

Parça başına en fazla 5 özellik gösterilir.

maxFeaturesPerTile: 2

Parça başına en fazla 2 özellik gösterilir.

İncelme sıralaması

İnceltme sıralaması (thinningRanking) parametresi, geometri türüne, özellik boyutuna ve özellik mülkü değerlerine göre verilerin inceltme için nasıl önceliklendirildiğini kontrol eder. maxFeaturesPerTile değerine ulaşıldığında hangi özelliklerin diğerlerinden önce inceltileceği konusunda inceltme algoritmasını bilgilendiren bir kurallar grubu kabul eder. Her kural, bir özellik mülkü ve ardından sıralama yönü (artan/ASC veya azalan/DESC) içerir. Bir veya daha fazla kural olabilir. Geleneksel özellik özelliklerine ek olarak, inceltme işlemine öncelik vermek için kullanılabilecek iki özel özellik vardır: .geometryType ve .minZoomLevel.

  • .geometryType: Özellikleri nokta, çizgi veya poligon olarak karakterize eder. Bu geometri türleri, sıralama amacıyla sırasıyla küçük, orta ve büyük olarak ölçülür.
  • .minZoomLevel: Bir özelliğin bir karoda oluşturulabileceği en düşük harita yakınlaştırma seviyesi. Bu değerin altındaki yakınlaştırma seviyelerinde özellik gösterilmez. Bu değere eşit veya bu değerden yüksek yakınlaştırma seviyelerinde özellik gösterilebilir. Düşük yakınlaştırma düzeylerinin, harita karosu başına daha yüksek yakınlaştırma düzeylerine kıyasla daha geniş bir coğrafi bölgeyi temsil ettiğini unutmayın. Nokta özelliklerine 0 değeri atanır (tüm yakınlaştırma seviyelerinde görünür). Çizgi ve poligon geometrilerine, sınırlarına (çizgiler) veya alanlarına (poligonlar) göre değerler atanır: Büyük özelliklerin .minZoomLevel değerleri, küçük özelliklere kıyasla daha düşüktür.

Sıralamayı inceltme kuralları, bir mülk adının ve istenen sıralama yönünün boşlukla ayrıldığı bir dize veya dize listesi olarak sağlanabilir:

// String input format for setting thinning ranking based on 3 rules.
'my-property DESC, .geometryType ASC, .minZoomLevel ASC'

// List of strings input format for setting thinning ranking based on 3 rules.
['my-property DESC', '.geometryType ASC', '.minZoomLevel ASC']

Yukarıdaki kurallar, inceltme algoritmasını daha büyük "my-property" özelliğine sahip özelliklere öncelik verecek (önce daha küçük "my-property" değerine sahip özellikleri inceltecek), daha küçük geometri türüne sahip özelliklere öncelik verecek (ör. çizgilerden önce çokgenleri, noktalardan önce çizgileri inceltecek) ve daha küçük minimum yakınlaştırma düzeyine sahip özelliklere öncelik verecek (büyük çokgenlerden önce küçük çokgenleri, noktalardan önce büyük çokgenleri inceltecek) şekilde yönlendirir.

Aşağıdaki tabloda, bir size mülkü için thinningRanking kuralının değiştirilmesinin hangi özelliklerin çizileceğini nasıl etkilediği gösterilmektedir. Kart başına toplam özellik sayısı ("Tüm özellikler" sütunu) 5'ten fazla olduğundan, çizilen özellikleri sınırlamak için inceltme uygulanır (thinningRanking: 5 sütunu). İlk satırda özellikler, size değerine göre en büyükten en küçüğe doğru sıralanır. Yani daha büyük özellikler daha küçük özelliklerden önceliklidir (maxFeaturesPerTile değerine ulaşılana kadar özellikler boyutlarına göre azalan düzende çizilir). İkinci satırda özellikler artan boyuta göre sıralanır. Bu nedenle, maxFeaturesPerTile değerine ulaşılana kadar boyutlarına göre en küçük özellikler önce çizilir.

thinningRanking Tüm özellikler (referans için) maxFeaturesPerTile: 5

'size DESC'

Daha yüksek size değerine sahip özelliklere öncelik verin (size değeri daha düşük olan özellikleri önceden kaldırın).

'size ASC'

Daha küçük size değerine sahip özelliklere öncelik verin (öncelikle daha büyük size değerine sahip özellikleri azaltın)

İncelme stratejisi

Oluşturma performansını artırmak için dışa aktarma sırasında verileri inceltmek amacıyla sıralama inceltme (thinningRanking) ile birlikte inceltme stratejisi parametresi (thinningStrategy) kullanılır. Desteklenen iki strateji vardır: HIGHER_DENSITY ve GLOBALLY_CONSISTENT. Belirli bir yakınlaştırma düzeyinde inceltme yapılırken daha yüksek yoğunluklu bir inceltme stratejisi, her karonun diğer karolardaki özelliklerin sıralamasına bakılmaksızın maxFeaturesPerTile sınırına olabildiğince yaklaşabileceği anlamına gelir. Dünya genelinde tutarlı inceltme stratejisi, bir özellik herhangi bir karodan inceltme işlemiyle kaldırılırsa, karonun inceltme gerektirip gerektirmediğinden (maxFeaturesPerTile sınırını aştığından) bağımsız olarak eşit veya daha düşük inceltme sıralamasına sahip tüm özelliklerin tüm karolardan kaldırılacağı anlamına gelir. Özellik yoğunluğu için optimizasyon yapmak istiyorsanız HIGHER_DENSITY stratejisini, özellik sıralamasının karolar arası tutarlı bir şekilde gösterilmesi için optimizasyon yapmak istiyorsanız GLOBALLY_CONSISTENT stratejisini kullanın.

Aşağıdaki tabloda, thinningStrategy değerinin değiştirilmesinin inceltmeyi nasıl etkilediği gösterilmektedir. Bu örnekte, verilerin sayısı noktaların şekli/rengi kullanılarak azaltılmıştır. Mavi daireler, yeşil kareler ve kırmızı üçgenler, en iyiden en kötüye doğru incelenmeye uygunluk sırasına sahiptir. Her thinningStrategy (HIGHER_DENSITY ve GLOBALLY_CONSISTENT) için maxFeaturesPerTile ile ilgili üç farklı değer belirtilir: tüm özellikleri gösterecek kadar büyük bir sayı, 10 özellik ve 9 özellik.

HIGHER_DENSITY ve 10 maxFeaturesPerTile ile sol üst karodan 6 kırmızı üçgen (inceltme sıralamasında en düşük öncelik) ve sol alt karodan 1 kırmızı üçgen inceltilir. HIGHER_DENSITY ve 9 maxFeaturesPerTile ile sol üst karodan 7 kırmızı üçgen, sol alt karodan ise bir kırmızı üçgen ve yeşil kare inceltilir. Bu örneklerde, her karo, komşu karolardaki özelliklerin inceltme sıralaması dikkate alınmadan bağımsız olarak inceltilir. Verilerin özelliklerine bağlı olarak bu inceltme stratejisi, bitişik harita karolarının birbirinden belirgin şekilde farklı görünmesine neden olabilir ancak çizilen özellik sayısını en üst düzeye çıkarır.

GLOBALLY_CONSISTENT inceltme işleminin, bir özellik herhangi bir karodan inceltme işlemiyle kaldırılırsa eşit veya daha kötü thinningRank değerine sahip diğer tüm özelliklerin de kaldırılacağı anlamına geldiğini unutmayın. maxFeaturesPerTile 10 olarak ayarlandığında, kırmızı üçgen sol üst ve sol alt karolarda inceltildiği için hiçbir karoda gösterilmez. maxFeaturesPerTile 9 olarak ayarlandığında, yeşil kare sol alt karoda inceltildiği için yeşil kareler hiçbir karoda gösterilmez. Bu inceltme stratejisinin, HIGHER_DENSITY stratejisinin sağlayabileceği farklı karo görünümünü oluşturma olasılığı daha düşüktür ancak karoları maxFeaturesPerTile sınırının çok altındaki bir dizi özelliğe inceleyebilecek potansiyele sahiptir.

thinningStrategy Tüm Özellikler (referans için) maxFeaturesPerTile: 10 maxFeaturesPerTile: 9

'HIGHER_DENSITY'

Daha az agresif inceltme.

Karo içi inceltme sayesinde yüksek özellik yoğunluğunu korur.

'GLOBALLY_CONSISTENT'

Daha agresif inceltme.

Karolar arası inceltme yoluyla dünya genelinde tutarlı minimum inceltme sıralaması sağlar.

Z düzeni sıralaması

Z düzeni sıralaması (zOrderRanking) parametresi, çakışık özelliklerin sıralamasını kontrol eder. Üst üste geldiklerinde hangi özelliklerin diğerlerinin altında/üstünde görüneceğini tanımlayan bir kurallar grubunu kabul eder. Özellik sırasını ayarlamayla ilgili kural mantığı ve biçim, sıralama inceltme ile aynıdır. Daha fazla bilgi için lütfen ilgili bölüme bakın.

Z-sıralama sıralama kuralları, bir mülk adının ve istenen sıralama yönünün boşlukla ayrıldığı bir dize veya dize listesi olarak sağlanabilir:

// String input format for setting z-order ranking based on 3 rules.
'my-property DESC, .geometryType ASC, .minZoomLevel ASC'

// List of strings input format for setting z-order ranking based on 3 rules.
['my-property DESC', '.geometryType ASC', '.minZoomLevel ASC']

Yukarıdaki kurallar, "my-property" değeri daha büyük olan özelliklerin daha küçük değere sahip özelliklerin altında, geometri türü daha küçük olan özelliklerin daha büyük geometri türüne sahip özelliklerin altında (örneğin, çizgilerin altında noktalar ve poligonların altında çizgiler) ve minimum yakınlaştırma düzeyi daha küçük olan özelliklerin (daha büyük özellikler) minimum yakınlaştırma düzeyi daha büyük olan özelliklerin (daha küçük özellikler) altında görünmesi gerektiğini belirtir.

Aşağıdaki tabloda, "boyut" özelliği için zOrderRanking kuralının değiştirilmesinin, örtüşen özelliklerden hangilerinin diğerlerinin önünde göründüğünü nasıl etkilediği gösterilmektedir. İlk satırda özellikler boyuta göre azalan düzende sıralanır. Yani daha büyük boyutlu özellikler daha küçük özelliklerin altında görünür (daha büyük özellikler önce çizilir). Buna karşılık, ikinci satırda özellikler boyuta göre artan düzende sıralanır. Yani daha küçük boyutlu özellikler daha büyük özelliklerin altında görünür (daha küçük özellikler önce çizilir).

zOrderRanking: 'size DESC'

Daha küçük size değerine sahip özellikler, daha büyük size değerine sahip özelliklerin üstünde görünür.

zOrderRanking: 'size ASC'

Daha büyük size değerine sahip özellikler, daha küçük size değerine sahip özelliklerin üstünde görünür.