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:

mahmut_m72

Altın Üye
Katılım
12 Aralık 2010
Mesajlar
18
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

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,383
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...

.
 

mahmut_m72

Altın Üye
Katılım
12 Aralık 2010
Mesajlar
18
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

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,383
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....

.
 

mahmut_m72

Altın Üye
Katılım
12 Aralık 2010
Mesajlar
18
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ı
 

mahmut_m72

Altın Üye
Katılım
12 Aralık 2010
Mesajlar
18
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
 
Üst