Deprem Tehlikelerinin Analizi ve Yönetiminde Uzamsal Veri Tabanlarının Kullanımı
- eceatesoglu
- 22 May
- 7 dakikada okunur
Her projenin planlama aşamasında — ister yeni bir yapılaşma, ister yeniden inşa süreci olsun — analiz, karar verme sürecinde hayati bir rol oynar. Bu analizler mevcut verilere dayanır; hem birikmiş istatistiksel veriler hem de ilgili görevle ilgili özel bilgiler bu sürecin temelini oluşturur. Ham veriler, belirli sorgular aracılığıyla anlamlı bilgiye dönüştürülerek analitik sürecin temelini oluşturur.
Bu proje, deprem önleme senaryolarında kentsel ve mimari planlama için mekânsal veri analizinin önemini PostgreSQL kullanarak ortaya koymaktadır. Analiz, belirli bir kentsel alanın kalitesini artırmak amacıyla, kentsel dokunun temel unsurlarını — yapılar, insan yapımı yapılar, ulaşım ağları ve kamusal alanlar — incelemektedir. Bu unsurların boşluk (void) ve doluluk (solid) biçiminde değerlendirilmesiyle, afet senaryolarında insanların toplanabileceği kamusal alanlarla olan ilişkiler daha iyi anlaşılabilir.
Analiz süreci, binaların malzeme özelliklerini ve mekânsal ilişkilerini (yakınlık ve bitişiklik gibi) incelemeyi de içermektedir. Veri tabanı sorguları sayesinde, belirli bir bölgenin mevcut durumu modellenebilmekte ve bu da planlamacılara afetlere hazırlık için gerekli kararları alma sürecinde önemli bilgiler sunmaktadır.
Bu çalışmada mahalle üç farklı bölgeye ayrılmıştır. Her bir mekânsal özellik (binalar, yollar, parklar vb.) bu bölgelerden biriyle ilişkilendirilmiştir.

Coğrafi nesne nedir?
İlk olarak, coğrafi nesnelerin (geo-objects) tanımını ve temel özelliklerini anlamamız gerekir. Topolojik tanıma göre, bir coğrafi nesne, hem geometrik hem de tematik özellikler içeren, simplekslerden (basit geometrik elemanlar) oluşan mekânsal bir varlıktır. Model, TIN (Üçgenlenmiş Düzensiz Ağlar – Triangulated Irregular Networks) kullanılarak oluşturulduğunda, geometri topolojik bir yapıdadır ve her türlü nesne (binalar, su kütleleri, ağlar, arazi modelleri vb.) simpleks yapılardan meydana gelir.

Ancak bizim durumumuzda, gerçek dünya varlıklarını temsil etmek için çokgenler (poligonlar) kullanılarak iz düşümleri (footprint) oluşturulmaktadır. Bu yapı yüzeyleri meydana getirir. Aşağıda verilen sınıf diyagramında da görüleceği üzere, yüzeyler gerçek dünya varlıklarının (binalar, sokaklar, açık alanlar, parklar vb.) temel atomik bileşenleridir. Ayrıca belirtilmelidir ki, UML diyagramı her bir coğrafi nesneyi değil, sınıfları temsil etmektedir. Bir binanın iz düşümünü temsil eden bir poligon içerisinde, atomik geometrik özellikler — noktalar (köşeler), kenarlar (doğru parçaları) ve yüzey (poligonun kendisi) — sorgulanabilir. Örneğin, bir binanın yüzeyi, poligonları oluşturan nokta ve kenarlardan meydana gelir. Bu yapı, bu tür atomik coğrafi nesnelerin sorgulanmasını ve analizini mümkün kılar. Örneğin, iki binanın aynı kenarı paylaşıp paylaşmadığını ya da hangi poligonların çakıştığını belirlemek gibi.

Sınıflar arasındaki hiyerarşi, "Mahalle" olarak adlandırılan kentsel alanı yapılandıran her bir bileşen arasındaki ilişkiyi gösterir. Coğrafi nesneler (geo-object) arasındaki mekânsal ilişkileri (ST_Contains, ST_Overlaps vb.) sorgulamak için sınıf diyagramına geometrik iz düşümler de eklenmiştir. UML diyagramında, Geometri veri tipini belirten öznitelikler (örneğin, Binalar [Buildings], Sokaklar [Streets], Açık Alanlar [OpenSpaces] sınıflarında görülebileceği gibi), bu PostGIS fonksiyonlarının kullanılmasına olanak tanır.
Uzamsal Veriyle Etkileşim
Temel konular hakkında genel bir anlayış kazandıktan sonra, aşağıda belirtilen sorular doğrultusunda ortaya çıkacak bilgiler tartışılabilir. Bu amaçla, mekânsal verilerle çalışmayı mümkün kılan bir PostgreSQL uzantısı olan PostGIS kullanılır. PostGIS, PostgreSQL veritabanını mekânsal olarak etkinleştirerek gerçek dünya nesnelerini modellemeye ve “nerede” ve “ne kadar uzakta” gibi soruları yanıtlamaya olanak tanır.
Bu projede kullanılan bazı PostGIS mekânsal fonksiyonları şunlardır:
ST_Distance: İki geometrik nesne arasındaki minimum 2D Kartezyen (düzlemsel) mesafeyi döndürür.
ST_Area: Bir yüzey poligon veya çoklu poligon ise, bu yüzeyin alanını döndürür.
ST_Transform: Bir geometrinin koordinatlarını başka bir mekânsal referans sistemine dönüştürerek yeni bir geometri oluşturur. Bu projede varsayılan SRID değeri 4326’dır. Bu sistemde mesafeler derece (boylam, enlem) cinsinden ifade edilir. Ancak mesafe gibi mekânsal bir değeri ölçmek istediğimizde, ST_Transform fonksiyonu geometriyi metrik birimlerle çalışan projeksiyonlu koordinat sistemine (örneğin SRID 3857) dönüştürür.
Daha fazla mekânsal sorgu için lütfen ilgili web sitesini ziyaret edin.
Sorgular
Aşağıda bazı SQL sorguları verilmiştir. Her bir sorudan elde edilen sonuçlar bir analiz kaynağı olarak kullanılabilir; ayrıca bu veriler görselleştirilerek özel acil durum planlarında değerlendirilebilir ya da belediyelere yeni düzenlemeler önerilmesi amacıyla kullanılabilir.
*SQL sorguları Türkçe'ye çevrilmemiştir.
Toplam binaların kaçı konut binasıdır?
SELECT
(SELECT COUNT(*) FROM buildings WHERE type = 'Residential') AS residential_count,
(SELECT COUNT(*) FROM buildings) AS total_count;

Binaların %38’i konut olarak kullanılmakta, yani toplamın neredeyse yarısını oluşturmaktadır. Bu bilgi, daire başına düşen kişi sayısı hesaplanarak yaklaşık çadır ihtiyacının tahmin edilmesinde kullanılabilir.
Bilimsel araştırmalara göre (çatlağın taşıyıcı eleman üzerinde olup olmadığına bağlı olarak) çatlak sayısı bir binanın çökme riskini belirlemede bir gösterge olabilir. Özellikle 50 ve üzeri çatlak tespit edilen yapılar risk taşımaktadır. Buna göre, 1. bölgede (Zone 1) bulunan, sahip bilgisi ve malzeme türüyle birlikte çökme riski taşıyan bina sayısını belirleyin.
SELECT owner, building_material, COUNT(id) AS buildings_risk
FROM buildings
WHERE detected_crack > 50
AND zone = 1
GROUP BY owner, building_material

Bir deprem felaketi sırasında, insanların kamusal açık alanlarda toplanması kaosun ve olası zararların önlenmesi açısından büyük önem taşır. Bu doğrultuda, risk taşıyan bir bina ile bir açık alan (örneğin park veya meydan) arasındaki minimum mesafeyi belirleyin.
SELECT DISTINCT ON (b.id)
b.id AS building_id,
o.name AS closest_open_space,
ST_Distance(ST_Transform(b.location, 3857), ST_Transform(o.area, 3857))
AS distance_meters
FROM buildings b
JOIN open_spaces o ON ST_Transform(b.location, 3857) IS NOT NULL
AND ST_Transform(o.area, 3857) IS NOT NULL
WHERE b.detected_crack > 50
ORDER BY b.id, distance_meters;

13 numaralı bina, yüksek riskli bina olarak değerlendirilmektedir ve herhangi bir açık alana en uzak bina konumundadır. En yakın park, bu binaya 226 metre mesafededir. Bu durum, özellikle bu binaya daha fazla dikkat gösterilmesi gerektiğini ortaya koymaktadır.
2000 yılından sonra inşa edilmiş ve risk taşıyan bina sayısı nedir? Sahip bilgileriyle birlikte listeleyin.
SELECT id, owner, built_year
FROM buildings
WHERE built_year > 2000
AND detected_crack > 50
ORDER BY id;

Kolon, kiriş ya da taşıyıcı duvarlar gibi düşey taşıyıcı elemanlar üzerindeki çatlakların yüksek oranda çökme ile pozitif ve doğrudan ilişkili olduğu bilinmektedir. Buna göre, düşey taşıyıcılarda hasar tespit edilen tüm binaları yapı malzemeleriyle birlikte listeleyin.
SELECT
b.id,
b.building_material,
v.type AS damaged_component
FROM buildings b
JOIN vertical_carriers v ON b.id = v.building_id
WHERE v.has_crack = true
ORDER BY b.id;

Düşey taşıyıcılarda hasar oluşan binaların yaklaşık %33,3’ü, iskelet, perde duvar ve yığma sistemlerden oluşan hibrit yapılardır.
Dolu (solid) - boşluk (void) oranının analizi ve bu ilişkinin sorgulanması, üzerinde çalıştığımız alan hakkında fikir sahibi olmak açısından kritik önemdedir. Bu bağlamda, mahalle alanındaki dolu-boşluk oranını belirleyin. Mahallede kaç m²’lik alan açık alan (void) olarak kabul edilebilir?
SELECT
SUM(ST_Area(ST_Transform(o.area, 32633))) AS total_open_space_m2,
SUM(ST_Area(ST_Transform(n.area, 32633))) AS total_neighborhood_m2
FROM
open_spaces o,
neighborhood n;

Mahalle toplam alanının %12,8’i açık alan olarak değerlendirilebilir. Bu oran, boşluk-doluluk (void-solid) oranının oldukça zayıf olduğunu göstermektedir.
Yukarıdaki verilere dayanarak, açık alanlarının m²’si açısından en fazla toplanma alanına sahip olan bölgeyi (zone) belirtin.
SELECT zone,
SUM(ST_Area(ST_Transform(area, 32633))) AS total_ area_in_square_meters
FROM open_spaces
GROUP BY zone
ORDER BY total_area_in_square_meters DESC
LIMIT 1;

Görülebileceği üzere, açık alanların neredeyse yarısı 2. Bölgede (Zone 2) yer almaktadır. Park ve meydanların dağılımı, mahalle genelinde dengeli değildir.
Yaklaşık olarak 2.5 m x 2.5 m boyutlarında küçük bir afet yardım çadırı düşünüldüğünde, en az 150 çadırın kurulabileceği tüm meydanları ve parkları listeleyin.
-- 2.5 x 2.5 = 6.25 m2 for a tent. For 150 tents, we need 6.25 x 150 = 937.5 m2 in total.
SELECT name, zone,
ST_Area(ST_Transform(area, 32633)) AS area_in_square_meters
FROM open_spaces
WHERE ST_Area(ST_Transform(area, 32633)) >= 937.5;

Mahallede açık alan kategorisine giren yalnızca 10 alan bulunmaktadır ve bunların 6 tanesi, 150 adet acil durum çadırı yerleştirilebilecek kadar büyük olduğu için acil durumlarda geçici yerleşim alanı olarak kullanılabilir.
1. bölgede (Zone 1) yer alan ve hem düşey hem de yatay taşıyıcılarında hasar bulunan konut binalarını listeleyin. Taşıyıcı tipini de belirtin.
SELECT
b.id AS building_id
b.zone AS zone,
'both' AS damaged_carrier_type
FROM buildings b
JOIN vertical_carriers v ON b.id = v.building_id
JOIN horizontal_carriers h ON b.id = h.building_id
WHERE b.zone = 1
AND b.type = 'Residential'
AND v.has_crack = true
AND h.has_crack = true;

Bu binalar, her iki tür taşıyıcı elemanda (düşey ve yatay) hasar tespit edildiği için yüksek risk taşımaktadır.
Bina tablosundaki detected_crack sütunu, hasarı gösterir ancak bu hasarın yüzeyde mi yoksa doğrudan taşıyıcı elemanlarda mı olduğu belirsizdir. Bu amaçla, binalar tablosuna bağımlı olan VerticalCarriers ve HorizontalCarriers tablolarını sorgulamamız gerekir. Her binada çatlak olduğu varsayılmakla birlikte, örneğin bir binada ne düşey ne de yatay taşıyıcılarda hasar bulunmuyorsa, bu çatlakların büyük olasılıkla dış cephede, sıvada ya da yapısal olmayan elemanlarda olduğu anlaşılır. Bu da risk potansiyelinin analizine yardımcı olur. Bu bağlamda, çatlak tespit edilmesine rağmen doğrudan taşıyıcı elemanlarında hasar bulunmayan tüm binaları listeleyin.
SELECT
b.id AS building_id
b.zone AS zone,
'non-structural' AS damage_type
FROM buildings b
JOIN vertical_carriers v ON b.id = v.building_id
JOIN horizontal_carriers h ON b.id = h.building_id
WHERE v.has_crack = false
AND h.has_crack = false;

Tespit edilen çatlakların büyük olasılıkla cephe, sıva veya dekoratif elemanlarda olması nedeniyle, bu binalar daha az riskli olarak sınıflandırılabilir.
Peki, bundan sonra ne yapılabilir?
Projenin önceki bölümünde, sorgular genel bir kentsel ölçekte başlayarak bina ölçeğine kadar ilerlemiş ve yapısal bileşenler incelenmiştir. Sistem, cephe süslemeleri ve pencere türleri gibi daha ince detayları bile sorgulayabilecek kapasiteye sahiptir. Ancak, Detay Seviyesi (LOD – Level of Detail) veya Bilgi Seviyesi (LOI – Level of Information) için uygun sınırların belirlenmesi hâlâ bir zorluktur; çünkü bu hiyerarşik yapının derinliği, her araştırma konusuna göre değişkenlik gösterir.
Birçok veri odaklı projede olduğu gibi, en önemli nokta veriyi ve ortaya çıkan sonuçları doğru bir şekilde okuyabilmektir. Aksi halde, harcanan çaba sadece birkaç satır (tuple) veriden ibaret kalır. Başka bir deyişle, veriyle çalışırken en önemli beceri bilgi ve yorumlama yetisidir; dolayısıyla deneyimin önemi göz ardı edilemez.
Bu proje, özellikle karmaşık ve birbiriyle bağlantılı yapılar barındıran kentsel yerleşimin planlama ve karar verme süreçlerinde, veri odaklı yöntemlerin ne kadar etkili olabileceğini ortaya koymaktadır.
NOT: Bu projede kullanılan veritabanı gerçek yapılı çevre ile ilgili veri içermemekte olup yalnızca proje amacıyla oluşturulmuştur.
Referanslar
Obe, Regina O., and Leo S. Hsu. PostGIS in Action. Second edition. Shelter Island, NY: Manning Publications, 2015.
Commentaires