• 06-01-2021, 15:16:55
    #1
    Merhaba. Projeme entegre etmek istediğim toplu taşıma araçlarına ait rota üzerinde duraklara uğrama veya rotadan ayrılma durumlarını kontrol eden bir sql sorgum var.
    Bir aracın A noktasından B noktasına örn 50 km var ve aracın o anki hızına göre süre hesaplanıyor. Ancak bu hesaplama Sql Geography ile distance kullanılarak A noktasından B noktasına direkt olarak mesafe ölçüyor. Bu durum yanlış hesaplamalara sebep oluyor. Benim istediğim ise A noktasından B noktasına hattın güzergahı üzerinden mesafe ölçülmesi. Bu durumda hesaplama yaklaşık olarak sonuç verecek.

    Bu konuda yardımcı olabilecek biri vardır umarım
  • 06-01-2021, 21:54:14
    #2
    sql server iki nokta arasini kus ucusu olarak hesap eder.

    rota bazli mesafe icin harita hizmetlerine baglanmaniz lazim

    https://developers.google.com/maps/d...uestParameters
  • 06-01-2021, 22:58:50
    #3
    suleymanyaldiz adlı üyeden alıntı: mesajı görüntüle
    sql server iki nokta arasini kus ucusu olarak hesap eder.

    rota bazli mesafe icin harita hizmetlerine baglanmaniz lazim

    https://developers.google.com/maps/d...uestParameters
    Evet kuş uçulu hesaplama yapıyor. Google yada herhangi bir uzak sunucudan veri çekemem. Sistemde yüzlerce cihaz varsa bu da yaklaşık yedi saniyede çok fazla istek oluşmasına sebep olur. Benim amacım hesaplama yaklaşık olsa da bu tarz bir algoritma yapılmıstır diye düsünüyorum.
  • 06-01-2021, 23:40:19
    #4
    yolu var ama epey zahmetli


    https://alastaira.wordpress.com/2011...l-server-2008/
  • 06-01-2021, 23:56:18
    #5
    suleymanyaldiz adlı üyeden alıntı: mesajı görüntüle
    Sanırım kendi algoritmamı yazmam gerekiyor. Sonuçta linestringde kırılma noktaları var. Her kırılma noktası arasındaki mesafeyi alıp toplarsam sonuca varabilirim.

    Başka birisi de aynı soruyu sormuş.

    https://stackoverflow.com/questions/...23996_33982229
  • 07-01-2021, 00:12:15
    #6
    @suleymanyaldiz; hesaplama yapısını şu şekilde planladım. Başlangıç ve bitiş noktası arasındaki her kırılma noktasının arasındaki mesafeyi hesaplayacak. Ardından aracın bulunduğu noktadan rotaya en yakın nokta bulunup hesaplama ordan devam edecek. aracın o anki hızı geriye kalan toplam mesafe ile hesaplanacak. Aracın hızına göre bitiş noktasına varış süresi değişecek...