Çözüldü İki Koordinat Arasında Kilometre Hesaplama

ersergen

Site Üyesi
Excel Versiyonu
Excel 365
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Herkese Merhaba, İyi forumlar.

Daha önceki konulara baktım ancak bana uygun bir şey bulamadım sektörler farklı diye sanırım :)
Enlem ve boylamlar arasındaki kilometre hesabını navigasyon üzerinden yapan aradaki kilometreyi gösteren bir excele ihtiyacım var, elimde 2 koordinat arası mesafeyi gösteren bir excel var ancak çok yavaş çalışıyor ve benim datam çok büyük olduğu için açıkcası bunu beklemek istemiyorum. OpenStreetMap üzerinden koordinatlar üzerinden kilometreyi veriyor, bunu iyileştirmek mümkün mü veya tasarım önerileriniz var mı?

Yapmak istediğim şey aslında basit, istasyonlar ve bayilerim arasındaki kilometreyi görmek istiyorum. İstasyon ve bayi ekleyip çıkartabileceğim, bir tasarımda birleştirme olursa çok güzel olur benim için.
İstasyon listesini ve kilometre hesabı yapan exceli ekliyorum, yardımcı olabilirseniz çok sevinirim.
 

Ekli dosyalar

Çözüm
Hızlandırmak için formülü hücre içinden değilde makro içinden çağırmanızı önermiştim.
Sizde ne hata veriyor paylaşmamışsınız ancak kodunuz bende de çalışmadı. Bendeki problemi bilgisayarımın çok eski olmasına bağlamıştım. Kendimde çalışacak şekilde bazı değişiklikler yaptım. Ayrıca formülün makro içinden kullanılmasını sağladım. Her query içinde 2 sn bekleme süresi ilave ettim.

Alt+ F8 ile makro çalıştırma penceresini açıp "Mesafe_Hesapla" makrosunu çalıştırınız:
Bu makro sayfayı satır satır tarayıp daha önce sonucu hesaplanmamış olanlar için ilgili web sitesinden query çalıştırıp sonucu yazacaktır. Eğer web sayfasından bir hata mesajı gelirse mesafe yerine bu mesajı ekranda göreceksiniz. Durdurmazsanız makro son satıra kadar tek...
@ersergen

Koordinat değil ama iki adres arasındaki en uygun
(sorgulama anındaki trafik durumuna göre, süre olarak en hızlı)
güzergah, ulaşım süresi ve adres bilgilerine göre oluşturulan maps.google linki oluşturulan bir çalışma var.
Kriter koordinat değil ADRES.

 
Formülü her çağırdığınızda ilgili web sitesine verdiğiniz koordinatları gönderip geriye bir cevap dönmesini bekliyor. Bu işlem sayfadaki her formül için ayrı ayrı yapılıyor. 5000 satıra formül yazdıysanız web sitesi ile 5000 kez bağlantı kuruyor. En alta yeni bir kayıt eklediğinizde yada sayfada değişiklik yaptığınızda ise önceki 5000 formülü tekrar hesaplıyor. Yani çok fazla koordinatınız olduğunda hücreye formül yazarak hesaplatmak çok verimsiz oluyor.

Bu yüzden formülü hücreden çağırmak yerine sadece sonucu hesaplanmamış satırlar için makro ile 1 kez çağırmak daha uygun olabilir. Her sorgu içinde 3-4 sn bekleme süresi koymak gerekmektedir.

İstasyonlar (5541 adet) & Bayiler(34 adet) arasındaki mesafelerin listesini yapmak istediğinizi belirtmişsiniz. Yani 5.541 x 34 = 188.394 kez web sitesinene gitmeniz gerekiyor. Bunu tek tek yapmak isterseniz bu işlem günlerce sürebilir.
 
Selamlar tekrar, cevaplarınız için teşekkür ederim.

İlgili sorgunun hızlandırılması veya alternatif bir yöntemi yok anladığım kadarıyla.
Ancak ben bu exceli en azından format olarak değiştirmek istiyorum ancak herhangi bir işlem yaptığım zaman hiçbir şekilde çalıştıramadım.
Arkada yazılı olan sorguyu kopyalayıp farklı boş bir çalışma kitabına kopyalamaya çalıştım olmadı, sorgunun yazılı olduğu excel üzerinde işlem yapmaya çalıştığımda da yine hata verdi bunun sebebi ne olabilir?
 
Hızlandırmak için formülü hücre içinden değilde makro içinden çağırmanızı önermiştim.
Sizde ne hata veriyor paylaşmamışsınız ancak kodunuz bende de çalışmadı. Bendeki problemi bilgisayarımın çok eski olmasına bağlamıştım. Kendimde çalışacak şekilde bazı değişiklikler yaptım. Ayrıca formülün makro içinden kullanılmasını sağladım. Her query içinde 2 sn bekleme süresi ilave ettim.

Alt+ F8 ile makro çalıştırma penceresini açıp "Mesafe_Hesapla" makrosunu çalıştırınız:
Bu makro sayfayı satır satır tarayıp daha önce sonucu hesaplanmamış olanlar için ilgili web sitesinden query çalıştırıp sonucu yazacaktır. Eğer web sayfasından bir hata mesajı gelirse mesafe yerine bu mesajı ekranda göreceksiniz. Durdurmazsanız makro son satıra kadar tek tek ilerleyecek. Durdurmak için CTRL+BREAK tuş kombinasyonunu kullanınız. Tekrar çalıştırdığınızda kaldığı satırdan devam edecektir. Yeniden hesaplatmak istediğiniz bir satır olursa sadece o satırın E sütünundaki hesaplanmış değeri silip makroyu tekrar çalıştırın.
 

Ekli dosyalar

Çözüm
@Selman Bey,

Çok teşekkür ederim, yaptığınız işlem benim için gayet makul çalışma düzeninde şuanda en azından donmuyor ve farklı excellerde çalıştırıp en azından 1-2 günde işlemi bitirebilirim diye düşünüyorum.

Konuyu excel hızlandığı için çözüldü yapıyorum ancak 2 exceli tasarım olarak birleştirecek önerilere de açığım :)
 
Selman Bey,
bu sorguyu aynı anda birden fazla excelde çalıştırmak için ne yapmam gerekli?
sorgu sadece 1 excelde çalışıyor aynı anda 2. excelde işlem yapmıyor
 
Makro sadece içinde bulunduğu dosyada çalışıyor. Verilerin sayfa1 deki formatta olması gerekiyor. Bu dosyayı kopyalayıp koordinatları sayfa1 e dyazıp başka bir bilgisayarda çalıştırabilirsiniz. Aynı bilgisayarda çalıştırmayınız. Hatta diğer bilgisayar mümkünse başka bir modem üzerinden internete bağlanmış olsun.
 
Konuyu başlatan
Site Üyesi
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Genel Excel Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
7
Üst