ibere
Altın Üye
- Katılım
- 31 Mart 2018
- Mesajlar
- 129
- Excel Vers. ve Dili
- Office 365
Ekli MS Excel dosyasını kullanabilirsiniz....
.
Teşekkürler Haluk bey
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Ekli MS Excel dosyasını kullanabilirsiniz....
.
İşin ilginç tarafı, aşağıdaki resimde olduğu gibi İlçeleri bazen sorunsuz ("ı", "i" karmaşası olmadan) getiriyor....
Ekli dosyayı görüntüle 239038
.
Hangi İL?Sayın Haluk Hocam ;
Benim bu scripti kullanma becerim maalesef yoktur.
İl-İlçe-Mahalle ve Mahalle kodları olan bir listeyi paylaşmanız mümkün olurmu ?
Saygılar iyi geceler
Tevfik Bey, haberler iyi .....
Aşağıdaki görselde belirtildiği gibi siz sadece Mahalle ID, Ada ve Parsel'i gireceksiniz...... gerisini, sunucuya yolladığımız sorgudan geri dönen cevaptan alıp sayfaya işliyoruz....
Ekli dosyayı görüntüle 238998
Görseldeki işi yapan script aşağıda verilmiştir;
JavaScript:function getData_mahalleID() { var myArr=["İL","İLÇE","MAHALLE","MEVKİİ","ZEMİN DURUM","NİTELİK","ALAN","PAFTA"]; var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); ss.getRange('C1:J1').setValues([myArr]) const dataRange = ss.getRange('A2:A'); const values = dataRange.getValues().filter(array=>array != ''); for(var j = 0; j < values.length; j++) { var iRow = j+2 var mahalleID = ss.getRange('A'+ iRow ).getValue(); var adaParsel = ss.getRange('B'+ iRow ).getValue() var url='https://cbsapi.tkgm.gov.tr/megsiswebapi.v3/api/parsel/' + mahalleID + '/' + adaParsel 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); // objJSON elemanlari >>> "type", "Feature", "geometry", "properties" // Aradigimiz veriler "properties" nesnesi icinde ss.getRange(j+2,3).setValue(objJSON.properties['ilAd']); ss.getRange(j+2,4).setValue(objJSON.properties['ilceAd']); ss.getRange(j+2,5).setValue(objJSON.properties['mahalleAd']); ss.getRange(j+2,6).setValue(objJSON.properties['mevkii']); ss.getRange(j+2,7).setValue(objJSON.properties['zeminKmdurum']); ss.getRange(j+2,8).setValue(objJSON.properties['nitelik']); ss.getRange(j+2,9).setValue(objJSON.properties['alan']); ss.getRange(j+2,10).setValue(objJSON.properties['pafta']); } else if (responseCode !== 200){ ss.getRange(j+2,3).setValue(responseContent) } } }
Not: Hatalı verilerle ilgili durumda, sayfaya sunucudan gelen mesaj yazdırılmaktadır....
Bu arada, @RBozkurt 'un eklediği dosyadaki Mahalle ID'leri de doğru görünüyor. Gerektiğinde oradan da faydalanabilirsiniz.
.

function getData_2() {
var myArr=["MAHALLE ID","ADA", "PARSEL","İL","İLÇE","MAHALLE",
"MEVKİİ","ZEMİN DURUM","NİTELİK","ALAN","PAFTA"];
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
ss.getRange('A1:K1').setValues([myArr])
const dataRange = ss.getRange('A2:A');
const values = dataRange.getValues().filter(array=>array != '');
for(var j = 0; j < values.length; j++) {
var iRow = j+2
var mahalleID = ss.getRange('A'+ iRow ).getValue();
var ada = ss.getRange('B'+ iRow ).getValue() + 0;
var parsel = ss.getRange('C'+ iRow ).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);
// objJSON elemanlari >>> "type", "Feature", "geometry", "properties"
// Aradigimiz veriler "properties" nesnesi icinde
ss.getRange(j+2,4).setValue(objJSON.properties['ilAd']);
ss.getRange(j+2,5).setValue(objJSON.properties['ilceAd']);
ss.getRange(j+2,6).setValue(objJSON.properties['mahalleAd']);
ss.getRange(j+2,7).setValue(objJSON.properties['mevkii']);
ss.getRange(j+2,8).setValue(objJSON.properties['zeminKmdurum']);
ss.getRange(j+2,9).setValue(objJSON.properties['nitelik']);
ss.getRange(j+2,10).setValue(objJSON.properties['alan']);
ss.getRange(j+2,11).setValue(objJSON.properties['pafta']);
}
else if (responseCode !== 200){
ss.getRange(j+2,4).setValue(responseContent);
}
}
}
-Kod, Google Script (JavaScript gibi birşey... diyelim) ile yazıldığı için VBA ile çalışmaz. VBA'de yeniden tasarlayıp, yazmak gerekir.
-VBA koruma yöntemi için @Zeki Gürsoy 'a müracaat edebilirsiniz. Bu konuda kendisinin geliştirdiği ücretli bir programı var.
.
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>Güneykent Mahallesi 5263-parsel</name>
<ExtendedData>
Daha önce eklediğiniz dosya normal excel olaraktı