TKGM den excel ile sorgulama yapmak ve bilgi almak mümkün müdür?

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
723
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Denedim problem gözükmedi şuan. Bizde de kota muhtemelen dolmak üzere :D
 
Katılım
30 Haziran 2016
Mesajlar
122
Excel Vers. ve Dili
office 2010 türkçe
Altın Üyelik Bitiş Tarihi
25-04-2024
Ekli revize dosya, seçilen parseller eğer "Aktif" durumdaysa, ilgili KML dosyasını Excel dosyasının olduğu yere indirir.

KML dosyasını Google Earth ile açtığınızda, sizi işaretlenmiş parsele götürür. Parselin üzerine tıkladığınızda ise, bilgileri gösterir.

Not: Söz konusu KML dosyası direkt olarak TKGM'den indirilmektedir.


Ekli dosyayı görüntüle 239746


.
HOCAM KML DOSYASINI GOOGLE EART İLE NASIL İLİŞKİLENDİRİP AKTİF EDİYORSUNUZ. VİDEO VARSA PAYLAŞIRMISINIZ. TEŞEKKÜRLER EMEĞİNİZ İÇİN
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bilgisayarınızda Google Earth yüklüyse, KML dosyasını çift tıklayın..... açılır.

Eğer KML uzantılı dosyalar Google Earth ile ilişkilendirilmemişse KML dosyasını sağ tıklayın, açılan menüden "Birlikte aç" seçin, oradan Google Earth programının "exe" dosyasının yolunu gösterin.

.
 
Katılım
30 Haziran 2016
Mesajlar
122
Excel Vers. ve Dili
office 2010 türkçe
Altın Üyelik Bitiş Tarihi
25-04-2024
arkadaşlar merhaba. platformda yarım isteyeceğim konu ile alakalı başlık burası olduğu için sizden ekli listedeki örnek gibi il. ilçe ve mahalle bilgilerinin tarafımca girilmesi halinde elimde 1000 lerce ada parselin olduğu bilgileri TKGM Parsel sorgudan sorgulayarak ilgili ada parselin resimini slayt şeklinde göstermesinin mümkün olduğu bir excel planmaktayım. sorguda slayt geçişi esnasında durdurup bu alanın ada parselini kaydet diyebileceğim bir formül mümkün müdür acaba. yardımlarınız için şimdiden tşk ederim. ben inanıyorum ki sizin elinizden her şey gelir.
 
Katılım
30 Haziran 2016
Mesajlar
122
Excel Vers. ve Dili
office 2010 türkçe
Altın Üyelik Bitiş Tarihi
25-04-2024
dosya büyük geldi eki mi şimdi ekledim. arkadaşlar merhaba. platformda yarım isteyeceğim konu ile alakalı başlık burası olduğu için sizden ekli listedeki örnek gibi il. ilçe ve mahalle bilgilerinin tarafımca girilmesi halinde elimde 1000 lerce ada parselin olduğu bilgileri TKGM Parsel sorgudan sorgulayarak ilgili ada parselin resimini slayt şeklinde göstermesinin mümkün olduğu bir excel planmaktayım. sorguda slayt geçişi esnasında durdurup bu alanın ada parselini kaydet diyebileceğim bir formül mümkün müdür acaba. yardımlarınız için şimdiden tşk ederim. ben inanıyorum ki sizin elinizden her şey gelir.
 

Ekli dosyalar

Katılım
30 Haziran 2016
Mesajlar
122
Excel Vers. ve Dili
office 2010 türkçe
Altın Üyelik Bitiş Tarihi
25-04-2024
dosya büyük geldi eki mi şimdi ekledim. arkadaşlar merhaba. platformda yarım isteyeceğim konu ile alakalı başlık burası olduğu için sizden ekli listedeki örnek gibi il. ilçe ve mahalle bilgilerinin tarafımca girilmesi halinde elimde 1000 lerce ada parselin olduğu bilgileri TKGM Parsel sorgudan sorgulayarak ilgili ada parselin resimini slayt şeklinde göstermesinin mümkün olduğu bir excel planmaktayım. sorguda slayt geçişi esnasında durdurup bu alanın ada parselini kaydet diyebileceğim bir formül mümkün müdür acaba. yardımlarınız için şimdiden tşk ederim. ben inanıyorum ki sizin elinizden her şey gelir.
bu işin üstadı olmuş excel ailesi sorumu çözer.
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
723
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
@RBozkurt ;

Belirttiğiniz gibi; seçilen bir İle ait tüm İlçe ve Mahalleler kodlarıyla birlikte aşağıdaki videoda görüldüğü gibi listelenmektedir...


.Ekli dosyayı görüntüle 239022


Bu işi yapan script aşağıda verilmiştir;

JavaScript:
function get_IL_ILCE_MAHALLE_Liste() {
    var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

    var myArr=["SIRA No","İL","İL KODU","İLÇE","İLÇE KODU","MAHALLE", "MAHALLE KODU"];
    ss.getRange('A1:G1').setValues([myArr]);

    SpreadsheetApp.flush();
  
    ss.getRange('A2:G').clear();

    var ui = SpreadsheetApp.getUi();
    var IL_ID = ui.prompt("İL Kodunu buraya girin...").getResponseText();

    if (IL_ID !=='') {
        var j =1

        var url='https://cbsservis.tkgm.gov.tr/megsiswebapi.v3/api/idariYapi/ilListe';
      
        var httpResponse = UrlFetchApp.fetch(url,{'muteHttpExceptions': true});
        var responseCode = httpResponse.getResponseCode();
        var responseContent = httpResponse.getContentText();

        if (responseCode == 200) {
          objJSON = JSON.parse(responseContent);

          for (var i=0; i<objJSON.features.length; i++) {
            if (objJSON.features[i]['properties']['id'] == IL_ID){
              var myIL    = objJSON.features[i]['properties']['text'];
              var myIL_ID = objJSON.features[i]['properties']['id'];
              break;
            }
          }   
        }

        var url='https://cbsservis.tkgm.gov.tr/megsiswebapi.v3/api/idariYapi/ilceListe/' + IL_ID       
      
        var httpResponse = UrlFetchApp.fetch(url,{'muteHttpExceptions': true});
        var responseCode = httpResponse.getResponseCode();
        var responseContent = httpResponse.getContentText();

        if (responseCode == 200) {
          objJSON2 = JSON.parse(responseContent);

          for (var ii=0; ii<objJSON2.features.length; ii++) {         
            SpreadsheetApp.flush();
            var url='https://cbsservis.tkgm.gov.tr/megsiswebapi.v3/api/idariYapi/mahalleListe/' +
                      objJSON2.features[ii]['properties']['id'] ;
      
            var httpResponse = UrlFetchApp.fetch(url,{'muteHttpExceptions': true});
            var responseCode = httpResponse.getResponseCode();
            var responseContent = httpResponse.getContentText();

            objJSON3 = JSON.parse(responseContent);

            for (var iii=0; iii<objJSON3.features.length; iii++) {
              j = j + 1
              ss.getRange(j,1).setValue(j-1);

              ss.getRange(j,2).setValue(myIL);
              ss.getRange(j,3).setValue(myIL_ID);

              ss.getRange(j,4).setValue(objJSON2.features[ii]['properties']['text']);
              ss.getRange(j,5).setValue(objJSON2.features[ii]['properties']['id']);

              ss.getRange(j,6).setValue(objJSON3.features[iii]['properties']['text']);
              ss.getRange(j,7).setValue(objJSON3.features[iii]['properties']['id']);
            }
          }
        }
      } 
      SpreadsheetApp.getActive().toast( myIL + " ili için veriler alındı!", "BİLGİ");
    }

.

Sayın @Haluk üstat müsait olduğunuzda bakabilme imkanınız olursa sevinirim.
TKGM muhtemelen güncelleme yaptı şuan kodlar çalışmamaktadır.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba

60, 77, 92, 98, 106 ve 140 no'lu mesajlardaki Excel dosyaları çalışıyor.

126 ve 137 No'lu mesajdaki Excel dosyalar ise çalışmadı....

Konuya ilişkin bendeki scriptlerin bazıları çalıştı, bazıları çalışmadı ..... Muhtemelen Web API değişti falan birşeyler oldu....belki bir ara bakarım, söz veremiyorum.

.
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
723
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Tamam Haluk ustam,

Yukardaki alıntı yaptığım script ID güncellemesi için olanı
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
ID'leri getiren Web API'ler çalışmıyor.... Belki bir tarafında güncelleme yapıyorlardır bilemiyorum. Ne zamandan beri çalışmıyor?

.
 
Katılım
22 Temmuz 2019
Mesajlar
4
Excel Vers. ve Dili
2016
ID'leri getiren Web API'ler çalışmıyor.... Belki bir tarafında güncelleme yapıyorlardır bilemiyorum. Ne zamandan beri çalışmıyor?

.
Haluk Hocam, ben dün denedim olmadı. Biz bunu belirli periyotlarda kullandığımız için ne zamandan beri çalışmıyor bilemiyoruz.
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
723
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
var url='https://cbsservis.tkgm.gov.tr/
adresi
var url='https://cbsapi.tkgm.gov.tr/
olarak güncellenirse çalışır.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bu iyi oldu işte ....

.
 
Katılım
22 Temmuz 2019
Mesajlar
4
Excel Vers. ve Dili
2016
Bu iyi oldu işte ....

.
haluk hocam merhaba, bu sorguya bir kolonda mahalle koordinatları ekleme şansımız olabilir mi?
"properties":{"text":"Aydinlar Köyü","id":23431}},{"type":"Feature","geometry":null,"properties":{"text":"Bahçelievler","id":207639}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[33.841711942801,39.313563832245]................................
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
JavaScript:
              if (objJSON3.features[iii]['geometry'] !== null){
                ss.getRange(j,8).setValue(objJSON3.features[iii]['geometry']['coordinates'].toString());
              }
.
 
Son düzenleme:

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
@uysal_42 ile beraber misiniz? Her neyse.....

Sonradan tekrar imar görmüş mahallelerde sıkıntı oluyordu galiba.....

Script'i tekrar elden geçirdim, 156 No'lu mesajdaki önerimi biraz revize ederek aşağıdaki gibi kullandım. Bende bir sorun olmadı şimdilik ama siz dikkatlice inceleyin çünkü; daha önceki denememde mahalle koordinatlarını yazarken hep bir sonraki mahallenin koordinatlarını yazıyordu.

JavaScript:
function get_IL_ILCE_MAHALLE_Liste() {
    var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

    var myArr=["SIRA No","İL","İL KODU","İLÇE","İLÇE KODU","MAHALLE", "MAHALLE KODU", "KOORDİNATLAR"];
    ss.getRange('A1:H1').setValues([myArr]);

    SpreadsheetApp.flush();
   
    ss.getRange('A2:H').clear();

    var ui = SpreadsheetApp.getUi();
    var IL_ID = ui.prompt("İL Kodunu buraya girin...").getResponseText();

    if (IL_ID !=='') {
        var j =1
      //Prompt ile seçilen ilin hangisi olduğunu buluyoruz.....
      //  var url='https://cbsservis.tkgm.gov.tr/megsiswebapi.v3/api//idariYapi/ilListe';
        var url='https://cbsapi.tkgm.gov.tr/megsiswebapi.v3/api//idariYapi/ilListe';
       
       
        var httpResponse = UrlFetchApp.fetch(url,{'muteHttpExceptions': true});
        var responseCode = httpResponse.getResponseCode();
        var responseContent = httpResponse.getContentText();

        if (responseCode == 200) {
          objJSON = JSON.parse(responseContent);

          for (var i=0; i<objJSON.features.length; i++) {
            if (objJSON.features[i]['properties']['id'] == IL_ID){
              var myIL    = objJSON.features[i]['properties']['text'].toLocaleUpperCase('tr-TR');
              var myIL_ID = objJSON.features[i]['properties']['id'];
              break;  // Seçilen ili bulduk..... şimdi devam...
            }
          }    
        }
   
      //  var url='https://cbsservis.tkgm.gov.tr/megsiswebapi.v3/api//idariYapi/ilceListe/' + IL_ID  
        var url='https://cbsapi.tkgm.gov.tr/megsiswebapi.v3/api//idariYapi/ilceListe/' + IL_ID  
           
       
        var httpResponse = UrlFetchApp.fetch(url,{'muteHttpExceptions': true});
        var responseCode = httpResponse.getResponseCode();
        var responseContent = httpResponse.getContentText();

        if (responseCode == 200) {
          objJSON2 = JSON.parse(responseContent);

          for (var ii=0; ii<objJSON2.features.length; ii++) {          
            SpreadsheetApp.flush();
            var xID = objJSON2.features[ii]['properties']['id'] ;
            var url ='https://cbsapi.tkgm.gov.tr/megsiswebapi.v3/api//idariYapi/mahalleListe/' + xID ;
         
            var httpResponse = UrlFetchApp.fetch(url,{'muteHttpExceptions': true});
            var responseCode = httpResponse.getResponseCode();
            var responseContent = httpResponse.getContentText();
         //   var responseContent = httpResponse.getContentText("UTF-8");

            objJSON3 = JSON.parse(responseContent);
            //Logger.log(objJSON3);

            for (var iii= 0; iii<objJSON3.features.length; iii++) {
              j = j + 1
              ss.getRange(j,1).setValue(j-1);

              ss.getRange(j,2).setValue(myIL);
              ss.getRange(j,3).setValue(myIL_ID);

              ss.getRange(j,4).setValue(objJSON2.features[ii]['properties']['text']);
              ss.getRange(j,5).setValue(objJSON2.features[ii]['properties']['id']);

              ss.getRange(j,6).setValue(objJSON3.features[iii]['properties']['text']);
              ss.getRange(j,7).setValue(objJSON3.features[iii]['properties']['id']);

              try {
                ss.getRange(j,8).setValue(objJSON3.features[(iii+1)]['geometry']['coordinates'].toString());
              } catch(e) {
                ss.getRange(j,8).setValue('KOORDİNAT BULUNAMADI');
              }            
            }
          }
        }
      }  
      SpreadsheetApp.getActive().toast( myIL + " ili için veriler alindi!", "BİLGİ");
    }


.
 
Son düzenleme:

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
@RBozkurt sonradan mesajını sanırım sildi.... o yüzden yukarıdaki en son mesajımın başlangıcı biraz tuhaf oldu....


.
 
Katılım
22 Temmuz 2019
Mesajlar
4
Excel Vers. ve Dili
2016

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
723
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Teşekkürler @Haluk ustam eline sağlık. Geçen gün msj attım sonra takıldığımız nokta düzelince silmiş bulundum :)
 
Üst