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

ibere

Altın Üye
Katılım
31 Mart 2018
Mesajlar
129
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
21-04-2027
teşekkürler hocam
 

jilazem

Altın Üye
Katılım
17 Temmuz 2007
Mesajlar
26
Excel Vers. ve Dili
2013 x64
Altın Üyelik Bitiş Tarihi
25-09-2026
@Haluk Hocam Merhaba, öncelikle ellerinize sağlık. Bu konuda çok yardımınız oldu.
Benim ricam eğer yapılabilirse "Öznitelik Bilgisi" bölümündeki 2. sekmede bulunan "Bina BB listesi" kısmındaki verilerin bir tabloya aktarılması.
Örneğin Antalya/Konyaaltı/Hurma/7895/8 de bulunan aşağıdaki listenin taşınmazid/blok/kat/giriş/nitelik/bb no gibi. çok teşekkür ederim.

#

Bina Nitelik

Blok

Bağımsız Bölüm Adet

 

Kat İrtifak

A

30

Kat

Giriş

Nitelik

BB No

1. Bodrum Kat

-

Mesken

1

1. Bodrum Kat

-

Mesken

2

1. Bodrum Kat

-

Mesken

3

1. Bodrum Kat

-

Mesken

4

1. Bodrum Kat

-

Mesken

5

1. Bodrum Kat

-

Mesken

6

Zemin

-

Mesken

7

Zemin

-

Mesken

8

Zemin

-

Mesken

9

Zemin

-

Mesken

10

Zemin

-

Mesken

11

Zemin

-

Mesken

12

1.Kat

-

Mesken

13

1. Kat

-

Mesken

14

1. Kat

-

Mesken

15

1. Kat

-

Mesken

16

1. Kat

-

Mesken

17

1. Kat

-

Mesken

18

2. Kat

-

Mesken

19

2. Kat

-

Mesken

20

2. Kat

-

Mesken

21

2. Kat

-

Mesken

22

2. Kat

-

Mesken

23

2. Kat

-

Mesken

24

3+Çatı

-

Dubleks Mesken

25

3+Çatı

-

Dubleks Mesken

26

3+Çatı

-

Dubleks Mesken

27

3+Çatı

-

Dubleks Mesken

28

3+Çatı

-

Dubleks Mesken

29

3+Çatı

-

Dubleks Mesken

30

   
 
Son düzenleme:
Katılım
12 Aralık 2010
Mesajlar
23
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
03-12-2024
@RBozkurt , şöyle olabilir.....

JavaScript:
function TKGM_V5Light() {
  var myArr=["SORGULANAN VERİ","İL","İLÇE","MAHALLE","ADA","PARSEL",
             "NİTELİK","ALAN","DURUM","GİTTİĞİ PARSEL SEBEP"];
  var ssData     = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data");
  var ssSonuclar = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sonuçlar");
  ssSonuclar.getRange('A1:J1').setValues([myArr]);
  ssSonuclar.getRange(1,1,1,ssSonuclar.getLastColumn()).setFontWeight("bold");
  var myRng = ssSonuclar.getRange(2,1,ssSonuclar.getLastRow(),ssSonuclar.getLastColumn());
  myRng.clear();
  const dataRange = ssData.getRange('A2:A');
  const values = dataRange.getValues().filter(array=>array != '');
  var iRow = 1
  var jRow = 1
  for(var j = 0; j < values.length; j++) {
    iRow = iRow + 1;
    jRow = jRow + 1;
    var mahalleID = ssData.getRange('A'+ jRow ).getValue();
    var ada = ssData.getRange('B'+ jRow ).getValue() + 0;
    var parsel = ssData.getRange('C'+ jRow ).getValue() + 0;

    var url='https://cbsapi.tkgm.gov.tr/megsiswebapi.v3/api/parsel/' + mahalleID + '/' + ada + '/' + parsel ;
   
    try {
      var httpResponse = UrlFetchApp.fetch(url,{'muteHttpExceptions': true});
        } catch (e) {
          httpResponse.getResponseCode();
          Browser.msgBox('Hata var...!\\n\\n' + e.toString(), Browser.Buttons.OK);
          return;
      }
 
    var responseContent = httpResponse.getContentText();
    var responseCode = httpResponse.getResponseCode();
    if (responseCode == 200) {
        objJSON = JSON.parse(responseContent);
        ssSonuclar.getRange(iRow,1).setValue(objJSON.properties['mahalleId']+' '+(objJSON.properties['mahalleAd'])+' '+(objJSON.properties['adaNo'])+' / '+(objJSON.properties['parselNo']));
        ssSonuclar.getRange(iRow,2).setValue(objJSON.properties['ilAd']);
        ssSonuclar.getRange(iRow,3).setValue(objJSON.properties['ilceAd']);
        ssSonuclar.getRange(iRow,4).setValue(objJSON.properties['mahalleAd']);
        ssSonuclar.getRange(iRow,5).setValue(Number(objJSON.properties['adaNo']));
        ssSonuclar.getRange(iRow,6).setValue(Number(objJSON.properties['parselNo']));
        ssSonuclar.getRange(iRow,7).setValue(objJSON.properties['nitelik']);
        ssSonuclar.getRange(iRow,8).setValue(objJSON.properties['alan']);
        var durum = objJSON.properties['durum'].toString();
        if (durum === '1'){
          ssSonuclar.getRange(iRow,9).setValue('Aktif');
          ssSonuclar.getRange(iRow,10).setValue(' ');
        }
        else {
          ssSonuclar.getRange(iRow,9).setValue('Pasif');
          ssSonuclar.getRange(iRow,10).setValue(objJSON.properties['gittigiParselSebep']);
          var strJSon = objJSON.properties.gittigiParselListe.toString();
          objJSON2 = JSON.parse(strJSon);
          myList = objJSON2.features;
          var countParcels = myList.length;          
          for (var i = 0; i<countParcels; i++){
            iRow = iRow+1
            ssSonuclar.getRange(iRow,2).setValue(myList[i]['properties']['ilAd']);
            ssSonuclar.getRange(iRow,3).setValue(myList[i]['properties']['ilceAd']);
            ssSonuclar.getRange(iRow,4).setValue(myList[i]['properties']['mahalleAd']);
            ssSonuclar.getRange(iRow,5).setValue(Number(myList[i]['properties']['adaNo']));
            ssSonuclar.getRange(iRow,6).setValue(Number(myList[i]['properties']['parselNo']));
            ssSonuclar.getRange(iRow,7).setValue(myList[i]['properties']['nitelik']);
            ssSonuclar.getRange(iRow,8).setValue(myList[i]['properties']['alan']);
            var durum = myList[i]['properties']['durum'].toString();
            if (durum === '1'){
              ssSonuclar.getRange(iRow,9).setValue('Aktif');
              //ssSonuclar.getRange(iRow,16).setValue(myList[i]['geometry']['coordinates'].toString());
              ssSonuclar.getRange(iRow,10).setValue(' ');
            }
              else {
                ssSonuclar.getRange(iRow,9).setValue('Pasif');
                ssSonuclar.getRange(iRow,10).setValue(objJSON.properties['gittigiParselSebep']);
              }
          }
        }
    }
    else if (responseCode !== 200){
      ssSonuclar.getRange(iRow,4).setValue(responseContent);
    }
  }
  ssSonuclar.getRange(1,1,iRow,1).setBackgroundRGB(255, 255, 143);
}



Ekli dosyayı görüntüle 239417



A sütunundaki dolgu rengini ayarlamak için en son satırdaki RGB kodlarını istediğiniz gibi değiştirebilirsiniz.


.
Haluk hocam sayfalarınızı kendi dosyama ekledim. H sütunu amerikan sistemi yani ondalık ayıracı (.) binlik ayıracı (,) biz ise tersini kullanıyoruz, bu da veriyi getirirken problem oluyor bunu düzeltmek mümkün mü.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Replace fonksiyonu gibi birşeyle nokta-virgül değişimi yaparsınız ..... ama o zaman da muhtemelen sizin dosyanızda veriler nümerik değil, metinsel olur...

.
 
Katılım
12 Aralık 2010
Mesajlar
23
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
03-12-2024
Replace fonksiyonu gibi birşeyle nokta-virgül değişimi yaparsınız ..... ama o zaman da muhtemelen sizin dosyanızda veriler nümerik değil, metinsel olur...

.
Haluk hocam sizin dosyalarda kodlar gizli olduğu için müdahale edemiyorum. sizin kodun getirdiği verileri alıyorum. söylediğim sebebten veriler hatalı geliyor. yani benim değil sizin dosyanızda bunun yapılması gerekir zannımca. (örneğin 8,812.20m2 olan parsel 8,8122 m2 olarak geliyor. virgülden sonraki ikinci rakam sıfır olmazsa bir takım işlemlerle çözüme ulaşılabilir. mesela 8,812.25 olduğunda 8,81225 olarak geleceği için virgül son iki rakamdan önceye kaydırılır. sıfır olduğunda kaydırırsak gerçek alanın %10 bir alan çıkar karşımıza
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Siz mesajinizda zaten kullandiginiz Google script'i vermissiniz. Ben ondan bahsediyorum....

.
 
Katılım
12 Aralık 2010
Mesajlar
23
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
03-12-2024
o zaman yanlış anlaşılmış hocam ben ordaki görüntüyle anlaşmak daha kolay olacak diyerek o mesajı kullandım. ben scriptle değil sizin hazırlamış olduğunuz excel dosyasıyla alıyorum veriyi. regional settingsten ülkeyi amerika seçersem sizin kod düzgün çalışıyor. ama ülkemizdeki gösterim ters maalesef bu da işin bu tarafı
 
Katılım
12 Aralık 2010
Mesajlar
23
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
03-12-2024
Siz mesajınızda zaten kullandığınız Google script'i vermissiniz. Ben ondan bahsediyorum....

.
[/ALINTI]
250459
Haluk hocam programınızı kullandığımda yukarıdaki hatayı alıyorum. Makroyu görüntüleyemediğim için hatanın hangi satırda oluştuğunu da göremiyorum. Bu makroyu görme şansımız var mıdır?
 

ibere

Altın Üye
Katılım
31 Mart 2018
Mesajlar
129
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
21-04-2027
@Haluk hocam herşey için birkez daha çok teşekkür ederim
 
Katılım
12 Aralık 2010
Mesajlar
23
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
03-12-2024
@Haluk hocam konuyla bağlantılı olarak TKGM üzerinden "Orman", "Devlet Ormanı" ve "Mera" vasıflı taşınmazların koordinatlarını nasıl alabiliriz. bunun için nasıl sorgulama yapılabilir siteden. bu sorudaki hedef şu: eğer bir köydeki veya mahalledeki bu alanların verisine sahip olabilirsek. bunun dışında kalan alanlar ya tarım arazisidir yada imarlı arsadır. bunlar da değerlendirilmesi mümkün olan taşınmazlardır.
 
Katılım
24 Temmuz 2025
Mesajlar
3
Excel Vers. ve Dili
Wps
Selamün aleyküm,

daha önce ki yıllarda da siteden baya faydalanıyordum, ancak bu konu için üye oldum desem yeridir :)

Konu da kodlar verilmiş, ancak apps script hiç bilmediğim bir alan. Apps script e kodları yapıştırıp, çalıştır bastıktan sonra, ilin kodu yazdığımda tüm ilçeler ile köyün bilgileri ve koordinatlar geliyor. Ancak ada parsel yok. Ada, parsel, alanı ve koordinat listesini nasıl yazdırabiliz?

Amacım şu, X köyün bütün parsellerini indirip bunları google earth aktarmak. Tkgm ye girip tek tek kml indirmek baya işkence :)
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
905
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
siverekli , ada parsel bilgisi olmadan hiç bir köyün bütün parsellerini göremez ve indiremezsiniz.
 
Katılım
24 Temmuz 2025
Mesajlar
3
Excel Vers. ve Dili
Wps
siverekli , ada parsel bilgisi olmadan hiç bir köyün bütün parsellerini göremez ve indiremezsiniz.
hocam yaptığım işlem adımlarını şöyle anlatayım, google e-tablolar--> uzantılar--> komut dosyası--> burada 8.sayfa 157.mesajdaki (https://www.excel.web.tr/threads/tkgm-den-excel-ile-sorgulama-yapmak-ve-bilgi-almak-muemkuen-mueduer.203008/post-1166881) kodu yapıştırıp, çalıştır dediğimde İl kodunu soruyor. İl kodunu yazınca otomatik olarak aşağıdaki bilgiler geliyor. (altta bütün ilçeler ve köyler geliyor, koordinatlar çok fazla olduğu için sildim şuan)

Benim istediğim, mahallenin koordinatları değil. Ada parselin koordinatları gelsin istiyorum

SIRA No

İL

İL KODU

İLÇE

İLÇE KODU

MAHALLE

MAHALLE KODU

KOORDİNATLAR

1

ŞANLIURFA

85

Akçakale

895

Abuharmala

164885

39.1265,36.72855,39.11462,36.72964,39.11495,36.73008,39.11281,36.73206,39.11419,

 
Son düzenleme:

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
905
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
zaten kod il-ilçe-mahalle kodlarını veriyor bunda sorun yok
bir yere ait tüm ada parselleri bulup sorgulayacak bir çözüm yoktur
 
Üst