Çanakkale Harita Kadastro Mühendislik Bürosu

Sık Karşılaşılan CityGML Validasyon Hataları Nelerdir, Nasıl Çözülür?

İçerik gizle
Sık Karşılaşılan CityGML Validasyon Hataları ve Çözüm Yolları

Sık Karşılaşılan CityGML Validasyon Hataları ve Çözüm Yolları

TKGM Otomatik Doğrulama Uygulamasına yüklenen 3 boyutlu sayısal yapı modelleri (CityGML dosyaları) için doğrulama işlemlerinin başarısız olmasına neden olabilecek çok sayıda hata kaynağı mevcuttur. CityGML dosyalarının hatalı üretimi nedeniyle alınan bu hatalar ve hata kaynaklarına ilişkin kısa açıklamaları, TKGM tarafından “Validasyon Hata Kodları” adı altında paylaşılmıştır. Bu uzun liste içerisinde en sık karşılaşılan CityGML validasyon hataları ve bu hataların çözüm yolları ise şunlardır:


1. {…} geçerli bir değer değil.

  • Olası nedenler: Bu hata, genellikle üretilen CityGML dosyasındaki bazı sözel veri girişlerinin eksik veya hatalı yapılmış olmasından kaynaklanmaktadır.
  • Çözüm: Bu hata, genellikle ilgili nesne için herhangi bir veri girişinin yapılmadığı veya yapılan veri girişinin hatalı olduğu durumlarda gözlenmektedir. Söz konusu nesnenin tespiti için FZKViewer veya KITModelViewer gibi açık kaynaklı yazılımlar kullanılabilir ve hata alınan nesnenin ID’si CTRL+F arama tuşu ile aratılarak CityGML dosyasındaki hatalı nesne belirlenebilir. Hatalı nesne belirlendikten ve bu nesne için gerekli veri girişi/düzeltmesi yapıldıktan sonra üretilen yeni CityGML dosyası TKGM Otomatik Doğrulama Uygulamasına yüklenir ve alınan hatanın giderilmiş olduğu gözlenir.

2. {…} değeri kodlistesinin içinde bulunamadı.

  • Olası neden: Bu hata, genellikle üretilen CityGML dosyasındaki bazı kısım tanımlamalarının yapılmamış olmasından veya hatalı yapılmasından kaynaklanmaktadır.
  • Çözüm: Bu hata, genellikle ilgili nesne için herhangi bir tanımın yapılmadığı veya hatalı yapıldığı durumlarda gözlenmektedir. Söz konusu nesnenin tespiti için FZKViewer veya KITModelViewer gibi açık kaynaklı yazılımlar kullanılabilir ve hata alınan nesnenin ID’si CTRL+F arama tuşu ile aratılarak CityGML dosyasındaki hatalı nesne belirlenebilir. Hatalı nesne belirlendikten ve bu nesne için gerekli tanımlama/düzeltme yapıldıktan sonra üretilen yeni CityGML dosyası TKGM Otomatik Doğrulama Uygulamasına yüklenir ve alınan hatanın giderilmiş olduğu gözlenir.

3. Hesaplanan alan ile plandan gelen alan eşit değil. (Tolerans %10)

  • Olası neden: Bu hata, bağımsız bölüm kısımları için yapılan çizimler sonucunda hesaplanan alan ile mimari projede belirtilen plan alanının uyumsuz olmasından kaynaklanmaktadır. Hesaplanan alan ile mimari projede belirtilen alan arasında en fazla %10’luk bir toleransa izin verilmekte olup, bu sınırın aşıldığı durumlarda söz konusu hata ile karşılaşılmaktadır.
  • Çözüm: Bu hata, bağımsız bölüm kısımları için hesaplanan alan ile plan alanı arasındaki farkın %10’dan fazla olduğu durumlarda gözlenmektedir. Söz konusu bağımsız bölüm kısmının tespiti için FZKViewer veya KITModelViewer gibi açık kaynaklı yazılımlar kullanılabilir ve hata alınan nesnenin ID’si CTRL+F arama tuşu ile aratılarak CityGML dosyasındaki hatalı kısım belirlenebilir. İlgili kısım için girilen plan alanı değeri ile mimari projede yazan değerin karşılaştırılması gerekmektedir. Şayet mimari projede belirtilen plan alanı değeri CityGML dosyasına doğru bir şekilde girilmişse ve tolerans miktarı buna rağmen aşılmışsa, ilgili kısmın geometrisinin tolerans sınırlarına çekilecek şekilde yeniden düzenlenmesi gerekmektedir. Gerekli düzenlemeler yapıldıktan sonra üretilen yeni CityGML dosyası TKGM Otomatik Doğrulama Uygulamasına yüklenir ve hatanın giderilmiş olduğu gözlenir.

4. Yüzey elemanı, tanımlanan dış çerçevenin(envelope) içinde değil. (Yüzey elemanı : …)

  • Olası nedenler: Bu hata, genellikle kat planları veya çatı için çizilen dış çerçevelerin, kat/çatı elemanlarını kesmesinden kaynaklanmaktadır.
  • Çözüm: Bu hata, kat planları veya çatı için çizilen dış çerçevenin, tüm kat/çatı nesnelerini kapsamaması nedeniyle gözlenmektedir. Hatanın giderilmesi için dış çerçevenin tüm nesneleri kapsayacak şekilde düzenlenmesi gerekmektedir. Gerekli düzenlemeler yapıldıktan sonra üretilen yeni CityGML dosyası TKGM Otomatik Doğrulama Uygulamasına yüklenir ve hatanın giderilmiş olduğu gözlenir.

5. Bir linearRing kendisini kesemez (kenarlar birbirini kesemez).-104 | StoreyTouchValidator | Poligona ait LinearRingler kesişemez.-201

  • Olası nedenler: Bu hatalar, genellikle kısımların birbirini veya doğrudan kendisini kesecek şekilde hatalı çizilmiş olmasından kaynaklanmaktadır. Farklı kısımlar birbirini kesiyor olabilir veya birbirine çok yakın çizilmiş olabilir, bir kısmın geometrisinde yapılan değişiklikler nedeniyle kısım kendi kendini kesiyor olabilir veya kapı/pencere yükseklikleri kat yüksekliğini aşacak şekilde hatalı girilmiş olabilir.
  • Çözüm: Bu hatalar, nesnelerin birbirlerini/kendilerini kesmesi durumunda gözlenmektedir. Söz konusu nesnelerin tespiti için FZKViewer veya KITModelViewer gibi açık kaynaklı yazılımlar kullanılabilir ve hata alınan nesnelerin ID’si CTRL+F arama tuşu ile aratılarak CityGML dosyasındaki hatalı nesneler belirlenebilir. İlgili nesnelerin geometrilerinde gerekli düzenlemeler yapıldıktan sonra üretilen yeni CityGML dosyası TKGM Otomatik Doğrulama Uygulamasına yüklenir ve hatanın giderilmiş olduğu gözlenir.

6. 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.-204

  • Olası neden: Bu hatalar, genellikle hatalı oluşturulan çatı yüzeylerinden kaynaklanmaktadır.
  • Çözüm: Bu hatalar, genellikle çatı yüzeylerinin karmaşık/kompleks yüzeyler olarak oluşturulmuş olması nedeniyle gözlenmektedir. FZKViewer veya KITModelViewer gibi açık kaynaklı yazılımlarda çatı yüzeyleri bir bütün olarak ele alındığından, hatalı yüzeylerin spesifik olarak tespiti için Visual Studio Code gibi kod düzenleyiciler kullanılabilir ve hata alınan nesnelerin ID’si CTRL+F arama tuşu ile aratılarak manuel olarak silinebilir.
  • Hata alınan nesne ID’si üzerinden gerçekleştirilen arama sorgusunda 2 (iki) sonuç gözlenir:
    • 1) <gml:surfaceMember xlink:href=”#Hatalı-Nesne-IDsi“: Tek satırdan oluşan bu kod satırının silinmesi gerekmektedir.
    • 2) <gml:surfaceMember> <gml:Polygon gml:id=”Hatalı-Nesne-IDsi“> … </gml:surfaceMember>: Toplam 9 kod satırından oluşan bu kod satırlarının da silinmesi gerekmektedir. <gml:surfaceMember> ile başlayıp, </gml:surfaceMember> ile biten kod satırları (eğik çizgisiz başlayıp eğik çizgi ile biten kod satırları), tek bir çatı yüzey elemanını temsil etmektedir; dolayısıyla silinecek kısım, <gml:surfaceMember> … </gml:surfaceMember> arası olarak düşünülebilir.
  • Hatalı yüzeyler silindikten sonra CTRL+S kısayolu ile kaydedilen CityGML dosyası, FZKViewer veya KITModelViewer gibi açık kaynaklı yazılımlar kullanılarak görüntülenebilir ve silinmiş olan yüzeyler aracılığıyla hatalı yüzey tespiti yapılabilir. İlgili yüzeylerin, üçgen modeller şeklinde sadeleştirilmesi ve yeniden oluşturulması önerilir. Gerekli düzeltmeler yapıldıktan sonra üretilen yeni CityGML dosyası TKGM Otomatik Doğrulama Uygulamasına yüklenir ve hatanın giderilmiş olduğu gözlenir.

7. İç(interior) linearRing, dış(exterior) linearRingin içerisinde yer almalıdır.-206 | Toplam bağımsız bölüm sayısı gmldeki ile uyuşmuyor. (Girilen : …, Gmlde bulunan: …) | Bağımsız bölüm kısım sayısı hatalı.(Girilen : …, Tespit edilen : 0) | Bağımsız Bölüm Çizim Alanı, kısım çizim alanlarının toplamından büyük olmalıdır. ( Girilen : … Kısım toplam alan : …) | storeyTouchValidator: Object reference not set to an instance of an object.

  • Olası nedenler: Bu hatalar; genellikle aynı kat içerisinde birden fazla bağımsız bölüme ve/veya eklentiye, aynı bağımsız bölüm numarasının tanımlanmış olmasından kaynaklanmaktadır.
  • Çözüm: Bu hatalar, genellikle bir bağımsız bölüm ile eklentisinin aynı katta bulunması nedeniyle veya aynı katta bulunan birden fazla bağımsız bölüme aynı BB no’nun tanımlanmış olması nedeniyle gözlenmektedir. Söz konusu bağımsız bölümlerin ve/veya eklentilerinin tespiti için FZKViewer veya KITModelViewer gibi açık kaynaklı yazılımlar kullanılabilir ve hata alınan nesnelerin ID’si CTRL+F arama tuşu ile aratılarak CityGML dosyasındaki hatalı bağımsız bölümler/kısımlar belirlenebilir. Aynı katta bulunan birden fazla bağımsız bölüm için de aynı BB no değeri tanımlanmış ise, ilgili bağımsız bölümler için doğru BB no değerlerinin tanımlanması yeterlidir. Bir bağımsız bölüm ile eklentisinin aynı katta bulunması durumunda ise; aynı kat no bilgisine ve aynı kat yüksekliklerine sahip olan, ancak kat tipi normal kat yerine “asma kat” şeklinde tanımlanan başka bir katın oluşturulması (yani, mevcut normal katın kopyalanarak yeni bir katın oluşturulması, yeni oluşturulan katın kat tipinin ise “asma kat” olarak değiştirilmesi) ve bu kat içerisine, normal katta bulunan eklentinin kesilip yapıştırılması gerekmektedir. Böylece puzzle’ın parçaları tamamlanmış olur ve aynı kat içerisinde hem eklenti hem de bağımsız bölümün kendisi tanımlanabilir. Gerekli düzeltmeler yapıldıktan sonra üretilen yeni CityGML dosyası TKGM Otomatik Doğrulama Uygulamasına yüklenir ve hatanın giderilmiş olduğu gözlenir.

8. İç ve dış linearRinglerin noktaları farklı yönlerde (saat yönü) sıralanmalıdır.-208

  • Olası nedenler: Bu hata; bir bağımsız bölümün köşe noktaları ile bağımsız bölüm kısımlarının köşe noktalarının aynı yönde oluşturulmuş olmasından kaynaklanmaktadır.
  • Çözüm: Bu hata, bir bağımsız bölüm ile içerisinde bulunan kısımların hat yönlerinin aynı olması nedeniyle gözlenmektedir. Söz konusu bağımsız bölümlerin ve/veya kısımlarının tespiti için FZKViewer veya KITModelViewer gibi açık kaynaklı yazılımlar kullanılabilir ve hata alınan nesnelerin ID’si CTRL+F arama tuşu ile aratılarak CityGML dosyasındaki hatalı bağımsız bölümler/kısımlar belirlenebilir. Hatalı BB ve/veya kısımları tespit edildikten sonra, öncelikle CityGML dosyasının üretildiği yazılım içerisinde bulunan Nesne Düzenle vb. gibi araçlar kullanılarak ilgili BB köşe noktalarının sıralanışı incelenmelidir. BB köşe noktalarının saat yönünde oluşturulması tavsiye edilir, aksi bir durum söz konusu ise hat yönü tersine çevrilir. Öte yandan, alınan hatanın ana kaynağı BB kısımlarının hat yönüdür. BB kısımlarının köşe noktalarının saat yönünün tersine oluşturulması tavsiye edilir (her halükarda BB sınırının hat yönünün tersi şeklinde olmalıdır). İlgili BB içerisindeki tüm kısımların köşe noktalarının sıralanışı incelenir ve hatalı kısımların hat yönleri tersine çevrilir. Gerekli düzeltmeler yapıldıktan sonra üretilen yeni CityGML dosyası TKGM Otomatik Doğrulama Uygulamasına yüklenir ve hatanın giderilmiş olduğu gözlenir.

9. Bina raporu oluşturulamadı. Lütfen dosyayı sistem yöneticisine iletiniz.

  • Olası nedenler: Bu hata, genellikle CityGML dosyasında bulunması gereken kod alanlarından bazılarının, model üretimi sırasındaki herhangi bir nedenden ötürü oluşturulmamış olmasından kaynaklanmaktadır. En sık karşılaşılan hata kaynağı, yapı köşe kotlarının negatif değerlerden oluşacak şekilde tanımlanmış olmasıdır.
  • Çözüm: Bu hata, TIC kotlarının yanlışlıkla 0’dan küçük değerler ile oluşturulmuş olması durumunda gözlenmektedir. Bu nedenle CityGML dosyasında lod2TerrainIntersection kod alanı oluşturulmamakta ve söz konusu hata alınmaktadır. Öncelikle, CityGML dosyasına girilen TIC kotlarının kontrol edilmesi ve yapı aplikasyon projesi ile karşılaştırılması gerekmektedir. Girilen değerlerde herhangi bir sorun yoksa, hata kaynağının teyit edilebilmesi için Visual Studio Code gibi kod düzenleyiciler kullanılabilir ve CTRL+F arama tuşu ile ilgili kod alanı aratılabilir. Bu alanın CityGML dosyasında bulunmaması durumunda, ilgili kod alanı manuel olarak oluşturulabilir veya kot değerleri düzenlenerek yeni bir CityGML dosyası üretilebilir. Üretilen CityGML dosyası Visual Studio Code gibi kod düzenleyiciler ile açıldıktan sonra ilgili kod alanı CTRL+F arama tuşu ile bulunabilir ve bu alanda yer alan TIC kotları daha sonra manuel olarak tekrar değiştirilebilir. Gerekli düzeltmeler yapıldıktan sonra üretilen yeni CityGML dosyası TKGM Otomatik Doğrulama Uygulamasına yüklenir ve hatanın giderilmiş olduğu gözlenir.

10. maksBuildingParcel: Value cannot be null. (Parameter ‘s’) | MEGSIS: Megsisten gelen parsel geometrisi bulunamadı. İlgili kadastro müdürlüğüne başvurunuz. (Parselde bulunan aktif zeminref:0)

  • Olası nedenler: Bu hatalar, CityGML dosyasının hatalı bir taşınmaz no (taşınmaz kimlik no/zemin sistem no) değeri ile üretilmiş olmasından kaynaklanmaktadır. Hata kaynağının 3 farklı nedeni olabilir:
    • 1) Taşınmaz no değeri hatalı girilmiş olabilir.
    • 2) İlgili taşınmaz üzerinde bir imar uygulaması gerçekleştirilmiş olabilir veya bölgede bir 22/A kadastro yenileme çalışması yapılmış olabilir. Dolayısıyla da taşınmaza ait tapu evrakı ile üzerinde yazan taşınmaz no değeri güncel olmayabilir.
    • 3) 3 boyutlu sayısal yapı modeli, kat mülkiyeti tesisi için üretiliyor olabilir ve tapu evrakının Zemin Tipi kısmında AnaTasinmaz yerine Kat İrtifakı yazıyor olabilir.
  • Çözüm: Bu hatalar, taşınmaz no (taşınmaz kimlik no/zemin sistem no) değerinin hatalı girişi nedeniyle gözlendiğinden, öncelikle ilgili veri girişinin doğru bir şekilde yapılıp yapılmadığının tapu evrakı üzerinden kontrol edilmesi gerekmektedir. Veri girişinde herhangi bir hatanın yapılmadığı gözlenirse, tapu evrakında Zemin Tipi kısmında AnaTasinmaz yazıp yazmadığı kontrol edilmelidir (bu kontrol, TKGM Parsel Sorgu Uygulaması üzerinden de yapılabilir). Kat irtifakı tapusu paylaşılmışsa, taşınmaz no değerinin ilgili Tapu Müdürlüğünden öğrenilmesi gerekmektedir. Öte yandan; tapu evrakında yazan ada/parsel ve alan bilgileri, TKGM Parsel Sorgu Uygulaması üzerinden kontrol edilmelidir. Taşınmaz üzerinde bir imar uygulamasının gerçekleştirilip gerçekleştirilmediği, taşınmazın 22/A kadastro yenileme işlemi görüp görmediği incelenmelidir. Bu bilgiler ışığında, ilgilisinden güncel bir tapu evrakı veya taşınmaz no bilgisi talep edilmelidir. Güncel bir tapu evrakı veya taşınmaz no bilgisi dikkate alınarak üretilen yeni CityGML dosyası TKGM Otomatik Doğrulama Uygulamasına yüklenir ve hatanın giderilmiş olduğu gözlenir.

11. Binanın tabanı ile megsisten gelen parsel geometrisi kesişmelidir.

  • Olası nedenler: Bu hata, CityGML dosyasının hatalı bir şekilde jeoreferanslandırılmasından kaynaklanmaktadır. Hata kaynağının 2 farklı nedeni olabilir:
    • 1) Yapı aplikasyon projesi hatalı hazırlanmış olabilir.
    • 2) Projeksiyon bilgisi yanlış tanımlandığı için 3 boyutlu sayısal yapı modeli yanlış konumlandırılmış olabilir.
  • Çözüm: Bu hata, jeoreferanslandırma işleminin hatalı yapılmış olması nedeniyle gözlendiğinden, öncelikle TIC koordinatlarının/kotlarının doğru bir şekilde girilip girilmediğinin ve projeksiyon bilgisinin doğru bir şekilde tanımlanıp tanımlanmadığının, yapı aplikasyon projesi üzerinden kontrol edilmesi gerekmektedir. Veri girişlerinde ve tanımlanan projeksiyon bilgisinde herhangi bir sorun tespit edilmezse, projeye altlık bir uydu görüntüsü eklenir ve jeoreferanslandırma işleminin hatalı yapıldığı gözlenebilir. Bu durumda söz konusu hata, yapı aplikasyon projesinde yazan D.O.M. değerinin hatalı olmasından kaynaklanmakta olup, hem yapı aplikasyon projesinde hem de CityGML dosyası içerisinde gerekli düzeltmelerin yapılması gerekmektedir. Gerekli düzeltmeler yapıldıktan sonra üretilen yeni CityGML dosyası TKGM Otomatik Doğrulama Uygulamasına yüklenir ve hatanın giderilmiş olduğu gözlenir.

12. Bu pozisyonda BuildingServiste zaten bir bina var. (Yapı ID : …)

  • Olası neden: Bu hata; taşınmaz üzerinde mevcut olan eski bir yapının, daha önceden sisteme re’sen kaydedilmiş olmasından kaynaklanmaktadır.
  • Çözüm: Bu hata, genellikle taşınmaz üzerinde MAKS sisteminde kayıtlı olan başka bir yapının mevcut olması nedeniyle gözlenmektedir. Söz konusu yapının sistemden silinmesi için üretilen CityGML dosyası ile birlikte dijitalbina@tkgm.gov.tr adresine bir e-posta atılmalıdır. Yoğunluğun yaşandığı bazı zamanlarda, alıcı posta kutusu dolu olduğu için gönderilen e-postalar alıcıya iletilememekte ve buna ilişkin otomatik bir e-posta yanıtı alınmaktadır. Bu gibi durumlarda, söz konusu talebi içeren e-postanın birden fazla kez gönderilmesi ve gönderilen e-postanın alıcı posta kutusuna düştüğünden emin olunması gerekebilmektedir. Gönderilen e-postaya karşılık olarak alıcı posta kutusunun dolu olduğuna dair otomatik bir yanıt alınmamışsa, gönderilen e-posta alıcı posta kutusuna düşmüş demektir, bu durumda gereksiz meşguliyet yaratmamak adına tekrar e-posta gönderilmemeli ve talebin işleme alınması beklenmelidir. İlgili talep doğrultusunda TKGM tarafından ivedi bir şekilde aksiyon alınmakta ve alınan hatanın en kısa zamanda (genellikle birkaç saat içerisinde) giderilmesi sağlanmaktadır. Hata giderildikten sonra, TKGM tarafından problemin/sorunun çözüldüğüne dair bir bilgilendirme e-postası iletilmektedir. Gelen e-postaya istinaden üretilen CityGML dosyası TKGM Otomatik Doğrulama Uygulamasına tekrar yüklenir ve hatanın giderilmiş olduğu gözlenir.

13. buildingExistence: GetBuildingList

  • Olası neden: Bu hata; sistemde yaşanan yoğunluk veya sistemsel başka bir sorun nedeniyle alınmaktadır.
  • Çözüm: Bu hata, model üretiminde herhangi bir hatanın bulunmadığı durumlarda, sistemde yaşanan yoğunluk veya sistemsel başka bir sorun nedeniyle gözlenmektedir. Üretilen CityGML dosyası TKGM Otomatik Doğrulama Uygulamasına tekrar yüklenir (bazı durumlarda birden fazla kez) ve hatanın giderilmiş olduğu gözlenir.

CityGML validasyon hataları ile karşılaşmamak ve sorunsuz/güvenilir bir validasyon kodu almak için “3 Boyutlu Sayısal Yapı Modeli Üretiminde Nelere Dikkat Edilmeli?” başlıklı yazımızı inceleyebilir ve model üretim işlemlerinizi tam kontrollü bir şekilde gerçekleştirebilirsiniz.

Türkiye geneli 3BSYM üretimi işlemleriniz için ise hizmet sayfamızı inceleyebilir veya bizimle iletişime geçebilirsiniz.