Sık Karşılaşılan CityGML Validasyon Hataları ve Çözüm Yolları
Üretilen CityGML verileri TKGM Otomatik Doğrulama Uygulamasına yüklendikten sonra kontrol işlemlerinin başarısız olmasına neden olabilecek birçok parametre bulunmakta olup, TKGM tarafından alınabilecek Validasyon Hata Kodları kısa açıklamaları ile birlikte paylaşılmıştır. Bu yazımızda, öncelikle 3B model görünümünde gözlenebilecek sorunlardan ve bu sorunların çözümlerinden bahsedeceğiz. Ardından, sık karşılaşılan validasyon hataları ile bu hataların çözüm yollarını paylaşacağız.
1) 3B model görünümünde gözlenebilecek sorunlar:Bağımsız bölüm kısımlarının katı objeler şeklinde gözükmesiOlası nedenler: Bu sorunun 2 farklı nedeni olabilir: 1) İlgili kısım için herhangi bir çizim yapılmamış olabilir. Bu da ilgili kısmın duvar olarak modellenmesine ve bu görünümün ortaya çıkmasına yol açmış olabilir. 2) Kısmın L veya U şeklinde olması, kısım ağırlık merkezinin çizilen poligonun dışına taşmasına yol açarak bu görünümün ortaya çıkmasına yol açmış olabilir.Çözüm: Öncelikle ilgili kısım için herhangi bir çizimin yapılıp yapılmadığı kontrol edilmelidir. İlgili kısmın L veya U şeklinde olması durumunda ise poligon şekli korunarak, poligon kenarlar üzerine ekstra noktalar atılmalı ve nokta sıklığı artırılarak kısım ağırlık merkezinin poligon sınırları içerisine çekilmesi sağlanmalıdır. Gerekli kontrol ve düzeltmeler yapıldıktan sonra üretilen yeni CityGML verisi TKGM Otomatik Doğrulama Uygulamasına yüklenir ve sorunun giderilmiş olduğu gözlenir.Katların veya kat içerisindeki bazı kısımların yanlış hizalanmasıOlası nedenler: Bu sorunun 2 farklı nedeni olabilir: 1) Jeoreferanslama işlemi için çizilen referans kutular her katta aynı ortak alana karşılık gelmiyor olabilir. 2) Farklı kat planları için çizilen sınırlayıcı kutu boyutlarının farklılık göstermesi nedeniyle kullanılan yazılım tarafından envelope sınırları yanlış algılanmış olabilir. Bu da ilgili kattaki bazı kısımların hatalı hizalanmasına yol açmış olabilir. Bu sorun, genellikle bodrum katın sığınak, otopark vb. gibi ortak alanlar nedeniyle normal katlardan çok daha büyük olduğu durumlarda, farklı kat planları için çizilen sınırlayıcı kutuların boyutlarındaki farklılıklar nedeniyle gözlenmektedir.Çözüm: Öncelikle çizilen referans kutuların her katta aynı ortak alana karşılık gelip gelmediği kontrol edilmelidir. Ayrıca, her kat planı için çizilen sınırlayıcı kutuların aynı boyuta getirilmesi gerekmektedir. Gerekli kontrol ve düzeltmeler yapıldıktan sonra üretilen yeni CityGML verisi TKGM Otomatik Doğrulama Uygulamasına yüklenir ve sorunun giderilmiş olduğu gözlenir.Çatı yan duvarlarının boş gözükmesiOlası nedenler: Bu sorunun 2 farklı nedeni olabilir: 1) Çatı yan duvarı çizilmemiş ve bu duvar için bir yüzey oluşturulmamış olabilir. 2) Çatı yan duvarı meyilsiz dik bir yüzey şeklinde çizilmiş olabilir.Çözüm: Çatı yan duvarı için hafif meyilli bir yüzey çizilmelidir. Gerekli düzeltmeler yapıldıktan sonra üretilen yeni CityGML verisi TKGM Otomatik Doğrulama Uygulamasına yüklenir ve sorunun giderilmiş olduğu gözlenir.2) TKGM Otomatik Doğrulama Uygulamasında sık karşılaşılan CityGML validasyon hataları:{...} geçerli bir değer değil.Olası nedenler: Bu hata, genellikle üretilen CityGML verisi içindeki bazı sözel veri girişlerinin eksik veya hatalı yapılmış olmasından kaynaklanmaktadır. {...} ile sistem tarafından hatanın CityGML verisi içindeki hangi alanda ve hangi nesnede meydana geldiği belirtilmektedir. Örneğin; Hata Alınan Nesne: BB_6c630ac2-c9a0-461d-a15b-f1a61428f048; Açıklama: maksIdentityNumber geçerli bir değer değil.Çözüm: Alınan hata ile daha önce karşılaşılmamışsa Validasyon Hata Kodları içerisinde ilgili hata kodu aranır ve karşılık gelen çözüm önerisi incelenir. Bu hata, genellikle sistem tarafından belirtilen alanda ilgili nesne için bir veri girişi yapılmadığı veya hatalı veri girişi yapıldığı durumlarda gözlenmektedir. FZKViewer veya KITModelViewer yazılımlarında CTRL+F arama tuşu kullanılarak CityGML verisi içindeki hatalı nesne belirlenebilir. Hatalı nesne belirlendikten ve bu nesne için gerekli veri girişi/düzeltmesi yapıldıktan sonra üretilen yeni CityGML verisi TKGM Otomatik Doğrulama Uygulamasına yüklenir ve hatanın giderilmiş olduğu gözlenir.Hesaplanan alan ile plandan gelen alan eşit değil. (Tolerans %10)Olası neden: Bu hata, çizim işlemleri sonucunda hesaplanan alan ile mimari projede belirtilen plan alanının uyumsuz olmasından kaynaklanmaktadır. Çizim işlemleri sonucunda hesaplanan alan ile mimari projede belirtilen alan arasında %10'luk bir tolerans miktarı bulunmakta olup, bu tolerans miktarının aşıldığı durumlarda ilgili hata ile karşılaşılmaktadır.Çözüm: Alınan hata ile daha önce karşılaşılmamışsa Validasyon Hata Kodları içerisinde ilgili hata kodu aranır ve karşılık gelen çözüm önerisi incelenir. Bu hata, kısımlar için hesaplanan alan ile veri girişi yapılan plan alanının arasında %10'dan daha büyük bir alan farkı olması durumunda gözlenmektedir. FZKViewer veya KITModelViewer yazılımlarında CTRL+F arama tuşu kullanılarak CityGML verisi içindeki hatalı kısım belirlenebilir. İlgili kısım için girilen plan alanı değeri mimari proje üzerinden kontrol edilmelidir. Şayet mimari projede belirtilen plan alanı değeri doğru girilmişse ve tolerans miktarı buna rağmen aşılmışsa, ilgili kısmın geometrisi tolerans miktarı sınırlarına çekilecek şekilde yeniden düzenlenmelidir/çizilmelidir. İlgili kısmın geometrisinde gerekli düzenlemeler yapıldıktan sonra üretilen yeni CityGML verisi TKGM Otomatik Doğrulama Uygulamasına yüklenir ve hatanın giderilmiş olduğu gözlenir.Bir linearRing kendisini kesemez (kenarlar birbirini kesemez).-104Poligona ait LinearRingler kesişemez.-201Olası nedenler: Bu hatalar, genellikle kısımların birbirini kesecek şekilde hatalı çizilmiş olmasından veya kapı ve pencere yükseklik değerlerinin hatalı (yani kat yüksekliğini aşacak şekilde) girilmiş olmasından dolayı, nesnelerin birbirlerini kesmesi nedeniyle alınmaktadır.Çözüm: Alınan hata ile daha önce karşılaşılmamışsa Validasyon Hata Kodları içerisinde ilgili hata kodu aranır ve karşılık gelen çözüm önerisi incelenir. Bu hatalar, hatalı çizim veya veri girişi nedeniyle üretilen model içerisindeki nesnelerin birbirlerini kesmesi durumunda gözlenmektedir. FZKViewer veya KITModelViewer yazılımlarında CTRL+F arama tuşu kullanılarak CityGML verisi içindeki hatalı nesneler belirlenebilir. İlgili nesneler için gerekli kontroller ve düzeltmeler yapıldıktan sonra üretilen yeni CityGML verisi TKGM Otomatik Doğrulama Uygulamasına yüklenir ve hatanın giderilmiş olduğu gözlenir.Bir poligon düzlemsel olmalıdır, tüm noktalar bir düzlem üzerine yerleştirebilir olmalıdır.-203(Poligon birden fazla yüzeye oturtulduğunda) Yüzeylerin normalleri arasındaki açı farkı toleranstan fazla.-204Olası nedenler: Bu hatalar, genellikle çatı yüzeylerinin hatalı bir şekilde çizilmesinden kaynaklanmaktadır.Çözüm: Alınan hata ile daha önce karşılaşılmamışsa Validasyon Hata Kodları içerisinde ilgili hata kodu aranır ve karşılık gelen çözüm önerisi incelenir. Bu hatalar, genellikle çatı yüzeylerinin hatalı çiziminden kaynaklandığından ve FZKViewer veya KITModelViewer yazılımlarında çatı yüzeyleri bir bütün olarak ele alındığından, hatalı nesne spesifik olarak tespit edilememektedir. Çatı yüzeylerindeki hatalı nesnelerin belirlenebilmesi için Visual Studio Code gibi kod düzenleyiciler içerisinde CTRL+F arama tuşu kullanılabilmektedir. Bu nesneler manuel olarak silindikten ve CityGML verisi kaydedildikten sonra FZKViewer veya KITModelViewer görüntüleme yazılımları kullanılarak hatalı nesneler (silinmiş nesneler) belirlenebilmektedir. İlgili nesneler için gerekli düzeltmeler yapıldıktan sonra üretilen yeni CityGML verisi TKGM Otomatik Doğrulama Uygulamasına yüklenir ve hatanın giderilmiş olduğu gözlenir.Bina raporu oluşturulamadı. Lütfen dosyayı sistem yöneticisine iletiniz.Olası nedenler: Bu hata, genellikle CityGML verisi içinde olması gereken alanlardan bazılarının, model üretimi sırasındaki herhangi bir nedenden ötürü oluşturulamamış olmasından kaynaklanmaktadır. En sık karşılaşılan hata kaynağı, yapı köşe kotlarının negatif değerlere sahip olmasıdır.Çözüm: Bu hata, genellikle yapı aplikasyon projesindeki yapı köşe kotlarının negatif değerlere sahip olmasından kaynaklanmaktadır. Bu nedenle CityGML verisi içerisinde lod2TerrainIntersection alanı oluşturulmamakta ve söz konusu hata alınmaktadır. Hata kaynağının teyit edilebilmesi için Visual Studio Code gibi kod düzenleyiciler içerisinde CTRL+F arama tuşu kullanılarak ilgili alan aranabilmektedir. Bu alanın CityGML verisi içerisinde gözlenememesi durumunda, manuel olarak ilgili alan oluşturulabilir veya yapı aplikasyon projesindeki yapı köşe kotları pozitif değerlere çekilerek yalancı pozitif yapı köşe kotları kullanılarak yeni bir CityGML verisi üretilebilir. Bu durumda Visual Studio Code gibi kod düzenleyiciler içerisinde CTRL+F arama tuşu kullanılarak ilgili alan aranabilir ve bu alanın yalancı pozitif yapı köşe kot değerleri ile oluşturulduğu gözlenebilir. Bu değerler gerçek değerlerine manuel olarak getirilebilir ve CityGML verisi bu haliyle kaydedilebilir. Gerekli eklemeler/düzeltmeler yapıldıktan sonra üretilen yeni CityGML verisi TKGM Otomatik Doğrulama Uygulamasına yüklenir ve hatanın giderilmiş olduğu gözlenir.Bu pozisyonda BuildingServiste zaten bir bina var. (Yapı ID : …)Olası nedenler: Bu hata, genellikle daha önce kat irtifakı kurulmuş olan taşınmazlarda, kat mülkiyeti tesis edilmeden önce 3 boyutlu sayısal yapı modeli üretiminin gerçekleştirilmesi gerektiği durumlarda alınmaktadır.Çözüm: Bu hata, genellikle MAKS sisteminde halihazırda kayıtlı bir yapının bulunması durumunda gözlenmektedir. Bu nedenle dijitalbina@tkgm.gov.tr adresine, üretilen CityGML verisinin de ek olarak sunulduğu bir e-postanın atılması ve ilgili yapının sistemden silinmesinin talep edilmesi gerekmektedir. İlgili talep doğrultusunda TKGM tarafından ivedi bir şekilde aksiyon alınarak, en kısa zamanda hatanın giderilmesi sağlanmaktadır. Problemin çözüldüğüne dair gelen e-postaya istinaden, üretilen CityGML verisi TKGM Otomatik Doğrulama Uygulamasına tekrar yüklenir ve hatanın giderilmiş olduğu gözlenir.