Nem hinnéd, de a koszegi pl. DUGIG van ilyen esetekkel (Azonos CLC-k egymás mellett). Sőt, szinte csak ilyen eset van! Pl a balaton tájegységben is nézegettem, ott szépen 311-ek és 313-ak vannak egymás mellett, meg sem fogalmazódott bennem, hogy összevonjam a 0x14-eket. De a koszegi-ben nagy lehetőséget látok ebben.
Csináltam egy nagyon apró próbát: a Vát-Bögöt-Szeleste háromszögben van egy erdőfolt. Hét, azaz 7db polygon alkotja, teljesen lyukmentesen egymáshoz fekszenek. Mindegyik 0x14, mindegyik Tipus=CLC 311. És természetesen jó kacifántos határvonallal csatlakoznak egymáshoz, jó sok node ponttal. Márpedig minden belső, szükségtelen node pont 2-szer fog szerepelni, hiszen mindkét (egymással összefekvő) polygon pontjai között bent lesznek. Az mp-ből kivettem csak ezt a 7 objektumot, és kimentettem: 19,4 kB. Ezután egyesítettem a felületeket egy naggyá, és pótoltam a hiányzó extra paramétereket, majd így kimentve, és a mentett mp-ből az egy szál polygont kiemelve: 12,0 kB.
És akkor még nem is vettem figyelembe azt az optimalizációs lehetőséget, hogy a külső körvonalat alkotó, egymástól néhány / vagy néhány 10 / méterre levő pontokat kiritkítani 5-ödére, 10-edére (miközben az eredeti polygon formája teljesen megmarad, illetve 5-10 m-nél nagyobb eltérés nem lesz). Ilyen módszerrel le lehetne venni a méretet 7-8 kB -ra!
Ennek számos előnye lenne:
a) - kisebb adatbázis méret a serveren, kevesebb adatbáziselem, az elemek kisebb méretűek
b) - kisebb mp méret, kevesebb objektum, gyorsabb betöltés és rajzolás mapedit-ben
c) - amikor lefordul a kimenetekre, kisebb kimeneti fájl, ez gyorsabb betöltést és animációs sebességet okoz a kütyükön, kevesebbet számol, gyorsabban rajzol. Kisebb lesz a memóriaigény is.
Az automatizált megoldást viszont kizárólag a körvonal pontjainak ritkítására használnám, az összevonásra viszont nem.
Azért, mert kétféle sarkalatos erdőfoszlányt ismerek:
1 - a nagyon apró fecnik, egymásnak fekszenek, együtt alkotnak egy nagyobb foltot - na ezeket marhára össze kéne vonni.
2 - igen kacifántos, összetett, hatalmas területeket átfogó (több településen túlnyúló), egybefüggő 0x14. Na ehhez én már nemigen vonnék hozzá semmit, mert így is elég geb@szos ilyenkor rajzolni vele. Kijelölöd, oszt fél óráig pöttyözi a mapedit. És nem tudom, hogy egy kütyünek is mennyire jó ekkora polygonokkal dolgozni, azazhogy simán 30-szorosan lelóg a látott képről a poly, de a kütyü szenved, mert ki kell számolnia, hogy valóban az egész képet beborítja az erdő. Ilyen esetben nem tudom, hogy egy kettévágás egy egyenes mentén esetleg indokolt lenne-e? (nem növeli a pontok számát és az adatbázis méretét, de kezelhetőbbé válik)
Szóval ez utóbbi eset miatt nem alkalmaznék automatizált megoldást a polygon-összevonásra, mert ha az algoritmus csak azt nézi, hogy hol fekszenek össze egymással azonos CLC-jű 0x14-ek, akkor ész nélkül össze fog vonni mindent, és akkor jaj neked, mapedites rajzolás![ előzmény: (29646) Hajo, 2009.04.16 17:47:16] |