İstanbul Yol Ağı Yönelim Analizi

Dünya çapında ses getiren yenilikçi CBS çalışmaları İstanbul’a uyarlanarak, kentin özgün yapısı veriye dayalı yöntemlerle yeniden yorumlanmaktadır. Bu kapsamda, Geoff Boeing’in Urban Street Network Orientation araştırmasından ilham alınarak İstanbul’un 39 ilçesindeki yol ağları yönelimleri üzerinden analiz edildi ve her ilçenin kendine özgü “mekansal imzası” ortaya çıkarıldı.
İstanbul’un yolları yalnızca ulaşımı sağlayan çizgiler olarak değil; kentin topografyasını, kıyılarını, tarihsel gelişimini, planlama kararlarını ve insan hareketlerini yansıtan güçlü birer mekansal imzadır. Bu kapsamda 39 ilçedeki yaklaşık 37 bin kilometrelik yol ağı, doğrultu yönlerine göre analiz edildi. Her ilçenin baskın yol doğrultusu belirlenerek yol dokusu düzenli, karma veya organik olarak sınıflandırıldı.

Analiz Python ortamında ArcPy, NumPy, Pandas ve Matplotlib kütüphaneleri kullanılarak gerçekleştirildi. İstanbul’un yol ağı, ilçe sınırlarına göre kırpıldı ve her yol geometrisi ardışık köşe noktaları arasındaki doğru parçalarına ayrıldı. Her parçanın yön açısı kuzey referanslı olarak atan2(dx, dy) fonksiyonuyla hesaplandı. Yollar çift yönlü bir eksen olarak değerlendirildiğinden 0°–180° aralığı esas alındı. Yol parçaları 10 derecelik 18 açı sınıfına ayrıldı ve her sınıf, içerdiği parçaların toplam uzunluğuyla ağırlıklandırıldı. Uzunlukların oransal dağılımı üzerinden taban-2 Shannon entropisi hesaplandı. Düşük entropi, yolların belirli doğrultularda yoğunlaştığı daha düzenli bir dokuyu; yüksek entropi ise yönlerin daha dengeli dağıldığı karmaşık ve organik bir dokuyu göstermektedir. İlçeler entropi değerlerine göre sıralandı; baskın doğrultu ise en fazla toplam yol uzunluğuna sahip 10 derecelik açı sınıfı olarak belirlendi. Sonuçlar, 180° karşılıklarına aynalanarak 360° polar grafikler üzerinde görselleştirildi.
Hesaplama algoritması içerisinde temel kod fonksiyonunu aşağıdaki gibi oluşturabilirsiniz:
def get_orientation_histogram(road_fc, bin_size=10):
bearings = []
lengths = []
with arcpy.da.SearchCursor(road_fc, ["SHAPE@"]) as cursor:
for row in cursor:
geom = row[0]
if geom is None:
continue
for part in geom:
points = [point for point in part if point]
for i in range(len(points) - 1):
p1 = points[i]
p2 = points[i + 1]
dx = p2.X - p1.X
dy = p2.Y - p1.Y
length = math.sqrt(dx**2 + dy**2)
if length == 0:
continue
# Kuzey referanslı yön açısı
angle = math.degrees(math.atan2(dx, dy))
# Çift yönlü eksen yaklaşımı: 0° ve 180° aynıdır
orientation = angle % 180
bearings.append(orientation)
lengths.append(length)
if not bearings:
return None, None, None
# 0°–180° aralığında 10 derecelik sınıflar
bins = np.arange(0, 181, bin_size)
hist, bin_edges = np.histogram(
bearings,
bins=bins,
weights=lengths
)
# Her yön sınıfındaki yol uzunluğunun oranı
probabilities = hist / hist.sum()
probabilities = probabilities[probabilities > 0]
# Taban-2 Shannon entropisi
orientation_entropy = -np.sum(
probabilities * np.log2(probabilities)
)
# En fazla yol uzunluğunu içeren baskın yön sınıfı
dominant_index = np.argmax(hist)
dominant_start = bin_edges[dominant_index]
dominant_end = bin_edges[dominant_index + 1]
return hist, orientation_entropy, (dominant_start, dominant_end)
Elde edilen sonuçlar; ana ulaşım koridorları, doğal etkileşimler, eski yerleşimler, planlı ve kendiliğinden gelişen büyüme süreçleri üzerinden literatür araştırmalarıyla birlikte morfolojik olarak değerlendirildi. Analizde Bahçelievler, belirgin doğu-batı akslarıyla en düzenli yol ağına sahip ilçe olarak öne çıkarken; Beykoz, topografya, ormanlar, vadiler ve Boğaz kıyısının etkisiyle en organik yol karakterini gösterdi.
Çalışma, İstanbul’un tek tip bir yol dokusuna sahip olmadığını; her ilçenin doğa, insan hareketleri ve kentsel gelişim süreçleriyle biçimlenen kendine özgü bir mekansal hikaye taşıdığını ortaya koymaktadır.



İstanbul Yol Ağı Analiz çalışmasına buradan erişebilirsiniz.
KAYNAKÇA: Çalışmada İrdelenen Yardımcı Kaynaklara buradan ulaşabilirsiniz.
