CityGML genişletilebilir bir yapı sağlamak üzere temel konsept ve bileşenleri içeren bir ana modül ve bu modülün altındaki tematik uzantı modüllerinden oluşur. Böylece ana modül değişmeden yeni modüllerin eklenmesi mümkün olmaktadır. CityGML uyumlu bir uygulamanın mutlaka ana modülü desteklemesi ve diğer modül veya modülleri opsiyonel olarak desteklemesi gerekir ve desteklediği kombinasyonlara CityGML profili denir. CityGML ana modül tüm CityGML veri modeli için geçerli olan temel kavram ve bileşenleri tanımlayarak tüm uzantı modüllerinin altlığını oluşturmaktadır. CityGML için en önemli sınıf bu modülde tanımlanan “-CityObject” sınıfıdır. Temel modül nesnelerin arazi ve su yüzeyine göre bağıl olarak nerede olduğunu da (tamamen yüzeyin altında, kısmen yüzey altında, tamamen yüzey üstünde) gibi tanımlamaları yapmayı sağlar. Böylece tüm geometriye bakmadan bazı sorgulama ve analizlerin yapılması mümkün olmaktadır. CityGML tematik modülleri; görünüm, köprü, şehir mobilyası, şehir nesne grubu, jenerik, arazi kullanımı, arazi, ulaşım, tünel, bitki örtüsü, su kütlesi modülleri şeklindedir. CityGML tarafından desteklenen beş farklı detay seviyesi sayesinde (LOD) tek bir bina gibi aynı nesnenin veya nesne grubunun farklı şekilde görselleştirilmesi ve analizlerde kullanılması mümkün olmaktadır. Böylece amaca uygun veri toplama veya kullanma, bilgisayarda nesnelerin daha etkin gösterilmesi ve uygulama performansının artırılması ve algılamanın kolaylaştırılması konularında gerekli altyapı sağlanmış olmaktadır. CityGML detay seviyesi LOD0-LOD4 arasında her seviyede içerik ve görsellik artacak şekilde kurgulanmıştır.
LoD0: LoD0 da bir bina ya çatı seviyesi yüksekliğinde ya da zemin seviyesi yüksekliğinde çokgenler tarafından temsil edilir. Semantik, ilgili öznitelik değerlerine sahip bir bina özel nesnesi ile modellenmiştir
LoD1: LoD1’de bina katı model ya da çok yüzeyli bir blok model olarak temsil edilir. Bu bina bileşenlerinin geometrik (örn. farklı yükseklik) ve tematik özellikleri (örn. inşaat yılı) ile ilgili olarak farklılık olması mümkündür. Binalar ve bina parçaları, potansiyel olarak aynı mekansal ve mekansal olmayan özelliklere sahiptir. Bir kısmın öznitelik değerleri, sadece o kısım için geçerlidir oysa bir binanın öznitelik değerleri tüm bölümlerine aittir. Parçalar mevcut ise, bina geometrisi sadece parçalar ile temsil edilmelidir. Çatı tipi gerçekte binanın şekline yöneliktir, LoD1’de gösterilmez. Bu nedenle LoD1’ de gösterimi daima düz, yatay bir çatı olsa bile değeri ‘üçgen çatı’ (gabled roof) olabilir.
LoD2, LoD2, LoD1’e genelleştirilmiş çatı yapılarını ekler. Buna ek olarak, bir binanın sınır yüzeyleri, tematik detaylar olarak temsil edilebilir. Dikey duvar yüzeyleri, üst kısımdan binayı örten yüzeyler (çatı yüzeyi) ve zeminden bina alt kısmını sınırlayan yatay yüzeyler (zemin yüzeyi) olarak tanımlanır.
LoD3 LoD3, LoD2’nin açıklıklar (pencereler, kapılar), ayrıntılı çatı yapıları (çatı pencereleri, bacalar, çatı çıkıntıları) ve ayrıntılı cephe yapılarıyla genişletilmesiyle elde edilir. Bu nesneler, kendi öznitelikleri ve (yüzey) geometrisiyle detay olarak temsil edilir. CityGML’ de çatı penceresi fonksiyonu ile bina tesisatı olarak gösterilen pencere, kapı ve çatı penceresi ile LoD3 bina örneği tasvir edilmektedir. Örnek diyagramda pencere ve duvarlar, karşılık gelen duvar/çatı yüzeyleri olarak ve çatı penceresi bina parçası olarak atanır. Her bir detay, mekansal özelliklerini temsil eden yüzey geometrisine sahiptir
LoD4 LoD4’te, LoD3’e ek olarak binaların iç yapıları dikkate alınmaktadır.