Yanıtlar:
İşte bunu yapmanın başka bir yolu. Bu şekilde her sınıfta ifadeleri olan bir katman kullanılmalıdır. Bu şekilde yapmak biraz daha 'pahalı' çünkü mantıklı ifadeler içeriyor, ancak gerçekten yüksek yük durumlarına çarpmadığınız sürece farkı asla fark edemezsiniz.
Her sınıfın iki bölümlü bir ifadesi vardır. Özelliklerin çizilebilmesi için ifadenin her iki bölümünün de doğru olması gerekir. İfadenin ilk kısmı, şekil dosyanızdaki bir özniteliğe göre bu sınıfa girmesi gereken özellikleri seçer. İfadenin ikinci kısmı, url'den geçirilen bir değişkenin değerini değerlendirir. URL'nizde değişkene ne ad verdiğiniz önemli değildir ('katman' gibi ayrılmış kelimeler kullanmayın), ifadenizdeki değişken adıyla eşleşmelidir.
İşte bazı örnek katmanlar:
LAYER
NAME "watersheds"
STATUS DEFAULT
DATA 'majclip'
TYPE POLYGON
CLASS
NAME "water"
EXPRESSION ([MAJOR] < 42 AND '%wanted%' = 'water')
STYLE
COLOR 0 0 255
END
END
CLASS
NAME "wood"
EXPRESSION ([MAJOR] >= 42 AND '%wanted%' = 'wood')
STYLE
COLOR 0 255 0
END
END
END
Yalnızca su özelliklerini çizmek için şu URL isteğini kullanırsınız: http: //localhost/cgi-bin/mapserv.exe? Map = / ms4w / apps / mymapfile.map & mode = map & wanted = wood
Bu, hedefinize ulaşmanın üçüncü geçerli yolu olduğundan, gerçekten hedeflerinizin ne olduğunu düşünmek istersiniz. Verileriniz sık sık değişiyorsa, bu seçenekle gitmek isteyebilirsiniz. Verileriniz sık sık değişmezse, kişisel olarak iki katmanla giderdim. Performans iyileştirmesi halinde şekil dosyasını arazi kullanım türüne göre birden fazla şekil dosyasına bölebilirim. (Katman filtreleri oldukça verimlidir). Web eşleme ile verilerinizi ne kadar çok optimize ederseniz o kadar iyi olur.
Sizin durumunuzda biri ahşap, diğeri su olmak üzere iki katman olmalıdır. Aynı şekil dosyasını kullanarak iki katmanınız olabilir.
Ardından, LAYERS parametresi tarafından istekte doğrudan görüntülenecek katmanları seçebilirsiniz. Sınıflar, verilerin yalnızca farklı bölümlerini temsil eder (örneğin, bu katmanlardaki verilerin nasıl oluşturulması gerektiği).
Gerçekten, gerçekten hepsine tek bir katmanda ihtiyacınız varsa, bunu başarmak için Adlandırılmış Stiller'i kullanabilirsiniz. Daha fazla ayrıntı için buraya bakın. Bununla birlikte, Peter'ın çoklu katman önerisi, birçok yönden çok daha basit bir yaklaşımdır.