Bir isochrone haritası, aldatıcı derecede basit bir soruyu yanıtlayan bir poligondur: buradan X dakikada nereye ulaşabilirim? Bir kahve dükkânının etrafına 15 dakikalık sürüş süresi isochrone'u çizdiğinizde, dükkânın gerçek dünyadaki çekim alanını elde edersiniz. Bir metro istasyonunun etrafına 30 dakikalık yürüyüş süresi isochrone'u çizdiğinizde ise yaya erişim alanını görürsünüz. Her "yakınımdaki" özelliği, her mağaza çekim alanı çalışması, her komüt süresine göre filtreleyen emlak özelliği bu fikrin üzerine kuruludur.
Bu rehber, bir isochrone'un gerçekte ne olduğunu, yol ağı üzerinde nasıl hesaplandığını, üretim sistemlerinde nerelerde karşımıza çıktığını ve hangi tuzakların ekiplere zaman ve para kaybettirdiğini açıklıyor.
Isochrone Gerçekte Nedir
Sözcük Yunanca isos (eşit) ve chronos (zaman) kelimelerinden gelir: seyahat süresinin aynı olduğu bir eğri. Modern haritacılıkta isochrone, seçilen bir ulaşım modu verildiğinde, bir başlangıç noktasından belirli bir zaman bütçesi içinde ulaşılabilen her konumu temsil eden bir poligondur (veya iç içe geçmiş poligonlar kümesidir).
Bir isochrone'u basit bir tampondan iki şey ayırır. Birincisi, düz bir düzlemde değil yol ağı üzerinde hesaplanır. Nehirler, otoyollar, dağlar ve tek yönlü caddeler şekli bozar. İkincisi, mod farkındadır: aynı noktadan 20 dakikalık sürüş isochrone'u, 20 dakikalık bisiklet isochrone'u ve 20 dakikalık yürüyüş isochrone'u tamamen farklı üç poligondur.
Çıktı neredeyse her zaman GeoJSON'dur, Polygon veya MultiPolygon geometrisi ve seyahat süresi eşiği ile modu taşıyan özelliklerle birlikte gelir. Frontend haritanızın render ettiği ve mekânsal veritabanınızın sorguladığı şey budur.
Isochrone'lar Nasıl Hesaplanır
Naif yaklaşım, başlangıç noktasından bir en kısa yol araması başlatmak ve birikmiş seyahat süresi eşiğe ulaştığında durmaktır. Pratikte bu ölçekte çok yavaş kalır, bu yüzden üretim sistemleri önceden hesaplanmış yol ağı grafikleri ve hızlandırılmış arama algoritmaları kullanır.
Yol grafiği OpenStreetMap gibi bir kaynaktan veya ticari bir yol veri kümesinden bir kez oluşturulur: her kavşak bir düğüm, her yol segmenti her ulaşım modu için seyahat süresine göre ağırlıklandırılmış bir kenar olur. Bir başlangıç noktasından bir grafik araması (Dijkstra, A* veya iki yönlü bir varyantı) dışarı doğru ilerler, ziyaret edilmemiş en ucuz düğümü genişleterek, zaman bütçesi tükenene kadar. Ulaşılan düğümler kümesi artı kısmen ulaşılan kenarlar sınırı tanımlar.
Modern motorlar bunu hızlandırmak için contraction hierarchies veya benzeri teknikler kullanır. Grafik, kestirme kenarların daha az önemli düğümleri atladığı bir hiyerarşiye önişlenir, böylece milyonlarca kenara dokunması gereken bir sorgu milisaniyeler içinde yanıtlanabilir. Ulaşılabilir düğümler daha sonra genellikle bir concave hull veya alpha shape ile bir poligona sarılır, böylece dış hat boş alana balon gibi şişmek yerine gerçek yol kapsamına yapışır.
Sonuç, doğrudan bir Leaflet, Mapbox GL veya MapLibre haritasına aktarabileceğiniz ya da mekânsal birleştirmeler için PostGIS'e yükleyebileceğiniz bir GeoJSON poligonudur.
Isochrone'lar Nerede Kullanılır
Isochrone'lar, konum farkındalıklı pek çok ürün özelliğini sessizce çalıştırır.
- Mağaza ve mekân çekim alanları: perakendeciler her lokasyonun etrafına sürüş süresi isochrone'ları çizerek makul olarak hizmet verebilecekleri nüfusu tahmin eder, ardından nüfus sayımı veya harcama verilerini bindirip pazar büyüklüğünü hesaplar
- EV menzil planlaması: pil farkındalıklı isochrone'lar, kalan şarjla bir EV'nin ne kadar uzağa gidebileceğini gösterir; rakım, hız ve tüketimi de hesaba katar
- Emlak komüt filtreleri: "bu ofise 30 dakikalık komüt mesafesindeki tüm daireleri göster" sorgusu, bir isochrone'un emlak ilan tablosuyla kesişimidir
- Sağlık erişim analizi: planlamacılar, hastane ve klinik etrafındaki isochrone'ları nüfus ızgaralarıyla karşılaştırarak hizmet alamayan bölgeleri bulur
- Lojistik servis alanları: kuryeler, saha hizmet ekipleri ve isteğe bağlı teslimat platformları, belirli bir depodan hangi siparişleri kabul edeceklerini tanımlamak için isochrone'lar kullanır
- Şehir planlama ve toplu taşıma: 15 dakikalık şehir çalışmaları, istasyon çekim alanı planları ve erişilebilirlik denetimleri çoklu modlu isochrone'lar üzerinde çalışır
Her durumda isochrone bir mekânsal filtredir. Belirsiz bir soruyu ("ne kadar yakın yeterince yakın?") kesişim alabileceğiniz, render edebileceğiniz ve üzerinde akıl yürütebileceğiniz bir poligona dönüştürür.
Üretimdeki Tuzaklar
Isochrone'lar demoda kolay görünür, üretimde zorlaşır.
Mod uyuşmazlığı. Bir sürüş isochrone'u otoyol hızlarını kullanır ve yayalar için tek yönlü kısıtlamaları yok sayar. Bir yürüyüş isochrone'u ise araçların kullanamadığı yaya yollarını ve kestirmeleri kullanır. İkisini karıştırmak, "poligon yanlış görünüyor" hata bildirimlerinin en yaygın kaynağıdır. Her zaman açık modu iletin ve UI'da görünür hale getirin.
Günün saati ve trafik. 03:00'te 15 dakikalık bir sürüş, 17:30'da aynı 15 dakikalık sürüşten çok daha geniş bir alanı kapsar. Kullanım senaryonuz komüt farkındalıklıysa (emlak filtreleri, mağaza saatleri, sevkiyat), bir departure_time iletin ve trafik farkındalıklı bir motor kullanın. Statik isochrone'lar yoğun saatler hakkında yalan söyler.
Çoklu modlu birleştirme. Gerçek yolculuklar modları birleştirir: metroya yürü, iki durak git, hedefe yürü. Naif tek modlu isochrone'lar bunu tamamen kaçırır. Gerçek çoklu modlu isochrone'lar bir toplu taşıma çizelgesi ve yaya ile toplu taşıma kenarlarını birleştiren bir grafik gerektirir, bu yalnız sürüşten önemli ölçüde daha karmaşıktır.
Kapsam basitleştirmesi. Bazı motorlar poligonu güzel göstermek için agresif şekilde yumuşatır, bu da hiçbir yolun gerçekten ulaşmadığı alanları dahil ederek kapsamı sessizce abartır. Önemli kararlar (mağaza açma, teslimat bölgesi kabul etme) için render edilen şekle güvenmek yerine ham sınırı inceleyin.
Ölçekte poligon boyutu. Uzun süreli isochrone'lar (60, 90 dakika) on binlerce köşeye sahip olabilir. Tarayıcıya göndermeden önce basitleştirin, sunucu tarafında render edin, yoksa haritanız takılır.
MapAtlas'ta Isochrone
MapAtlas Isochrone API, sürüş, yürüyüş, bisiklet ve trafik farkındalıklı sürüş süresi poligonlarını GeoJSON olarak döndürür; tek bir istekte birden fazla zaman eşiğini ve trafik farkındalıklı sonuçlar için kalkış zamanı girdilerini destekler. Poligonlar sürekli güncellenen bir yol grafiği üzerinde hesaplanır ve harita kütüphanenizin ek işleme gerek duymadan render edebileceği bir biçimde döndürülür.
Hem ulaşılabilir alan poligonlarına hem de ikili seyahat sürelerine ihtiyaç duyan iş akışları için Isochrone API, Distance Matrix API ile birlikte çalışır; böylece tek bir iş akışı "20 dakikada nereye ulaşabilirim?" ve "bu adayları sürüş süresine göre sırala" sorularını tek bir hat üzerinde yanıtlayabilir.
Sonuç olarak isochrone yalnızca bir poligondur. Ama seyahat süresini uygulamanızın filtreleyebileceği, render edebileceği ve üzerinde akıl yürütebileceği bir şekle dönüştüren poligondur ve gerçek bir komüt farkındalıklı özellikle bir pinin etrafına çizilmiş daire arasındaki farktır.
Sıkça Sorulan Sorular
Isochrone haritası nedir?
Bir isochrone haritası, bir başlangıç noktasından belirli bir seyahat süresi içinde ulaşılabilen her noktayı gösteren bir poligon ya da iç içe geçmiş poligonlar kümesidir. Örneğin bir mağazanın etrafına çizilen 15 dakikalık sürüş süresi isochrone'u, bir müşterinin 15 dakika veya daha kısa sürede ulaşabileceği her yol segmentini içeren şekli haritada izler. Bu şekil neredeyse hiçbir zaman bir daire değildir çünkü gerçek yol ağlarında nehirler, otoyollar, çıkmaz sokaklar ve tek yönlü caddeler bulunur.
Isochrone bir radius'tan nasıl farklıdır?
Radius, pergelle çizilen düz çizgili bir tampondur: içindeki her nokta merkeze kuş uçuşu aynı mesafededir. Isochrone ise gerçek yol ağı üzerinde hesaplanan bir seyahat süresi tamponudur: içindeki her nokta aynı dakika sayısında ulaşılabilir. 10 km'lik bir radius ile 10 dakikalık sürüş süresi isochrone'u neredeyse hiçbir zaman örtüşmez çünkü arazi, otoyollar ve trafik şekli bozar.
Bir isochrone API ne döndürür?
Bir isochrone API, her biri temsil ettiği seyahat süresi eşiğiyle (örneğin 5, 10, 15 dakika) etiketlenmiş bir veya daha fazla poligonu GeoJSON olarak döndürür. Poligonlar, seçilen bir ulaşım modu için (sürüş, yürüyüş, bisiklet, toplu taşıma) yol grafiği üzerinde hesaplanır ve trafik dikkate alındığında belirli bir kalkış zamanı için döndürülebilir. GeoJSON'u doğrudan haritaya bırakır veya PostGIS'te mekânsal filtre olarak kullanırsınız.
Isochrone'lar neden bu kadar tırtıklı görünür?
Isochrone'lar sürekli bir yüzeyden değil, yol segmentlerinden oluşan bir grafikten türetilir. Poligon sınırı, zaman bütçesi içinde ulaşılabilen en uzak düğümlerden interpolasyonla çıkarılır, bu yüzden kenarlar yol geometrisini izler. Concave hull veya alpha shape ile daha pürüzsüz şekiller üretilebilir, ancak hafif tırtıklı bir hat dürüsttür: bir yumuşatma fonksiyonunun hayal ettiği yeri değil, ağın gerçekten nerede bittiğini gösterir.

