Bu kılavuz, Netcad Kamulaştırma Modülü’nün kullandığı KAP (Kamulaştırma Kadastro Parsel) ve KML (Kamulaştırma Malik Listesi) dosyalarının yapısını, veri giriş kurallarını ve dikkat edilmesi gereken noktaları açıklamaktadır. KAP dosyası, tapu ve kadastral bilgileri içerirken, KML dosyası malik (sahiplik) bilgilerini tutar. Her iki dosya, virgülle ayrılmış (CSV) formatta düzenlenir ve Netcad ile uyumlu çalışır.
1. KAP Dosyası
Genel Tanım
KAP dosyası, kamulaştırma projelerinde taşınmazların tapu ve kadastral bilgilerini saklar. Dosya, 51 sütundan oluşur ve her sütun belirli bir bilgiyi temsil eder. Veriler virgülle ayrılır ve her sütunun formatı, veri türüne göre değişiklik gösterir.
Yapı ve Sütunlar
Aşağıdaki tablo, KAP dosyasının önemli sütunlarını (anlamsız _0 ve _BOŞ sütunlar hariç) listeler. Anlamsız sütunlar (örneğin, 8_0, 23_BOŞ) otomatik olarak doldurulur ve kullanıcı tarafından düzenlenmez.
Sütun No | Sütun Adı | Tanım | Veri Türü | Giriş Kuralları ve Dikkat Edilecekler |
---|---|---|---|---|
1 | Kurum No | Kurum numarası, plan veya ilçe bazlı. | Sayı veya harf içerebilir | Ana parsellerde benzersiz olmalı, ara parsellerde boş olabilir. Boş olması tercih edilmez. Örnek: 1000 |
2 | Ada_Parsel No | Ada ve parsel numarası, _ ile ayrılır. Ara parseller /A, /B, /C. | Metin (örn: 101_1, 101_1/B) | _ ayracı zorunlu. Ara parsellerde /B olmalı. Harf, sayı, _, / dışında karakter yasak. Boş olamaz. Örnek: parsel_no |
3 | Hesap Alanı | Koordinatlarla hesaplanan sayısal alan (m²). | Ondalık sayı (örn: 123.45) | Sayısal, nokta ayracı. Boş olamaz. Örnek: 123456.00 |
4 | Tapu Alanı | Tapuda kayıtlı alan (m²). | Ondalık sayı (örn: 123.45) | Sayısal, nokta ayracı. Boşsa hesap alanı girilir ve Açıklama-1’de not gerekir. Örnek: 333.09 |
5 | Tapu Cinsi | Tapuda kayıtlı taşınmaz cinsi. | Metin | Boş olamaz, boşsa – girilir. Mevzuat gereği yazılmalı. Örnek: cins |
6 | Mevkiisi | Tapuda kayıtlı mevki. | Metin | Boş olamaz, boşsa – girilir. Mevzuat gereği yazılmalı. Örnek: mevkii |
7 | Paftası | Tapuda kayıtlı pafta adı. | Metin | Boş olamaz, boşsa – girilir. Mevzuat gereği yazılmalı. Örnek: PAFTA_ |
9 | Ağırlık Merkezi Y | Ağırlık merkezinin Y koordinatı. | Ondalık sayı (örn: 123.45) | Sayısal, nokta ayracı. Boşsa CAD ilişkilendirmede sorun olur. Örnek: 0.000 |
10 | Ağırlık Merkezi X | Ağırlık merkezinin X koordinatı. | Ondalık sayı (örn: 123.45) | Sayısal, nokta ayracı. Boşsa CAD ilişkilendirmede sorun olur. Örnek: 0.000 |
11 | Zilyedlik | Zilyetlik durumu. | Tek karakter (harf/sayı) | Zorunlu değil, tek karakter. Örnek: Z |
12 | Pafta Ölçeği | Paftanın ölçek oranı. | Tam sayı (örn: 1000) | Tam sayı, 1/1000 değil 1000 girilir. Örnek: 2500.00 |
13 | Tecviz Tipi | Yapılaşma durumu (1: Var, 0: Yok). | 0 veya 1 | Sadece 0 veya 1. Boşsa 0 kabul edilir. Örnek: 1 |
14 | Kamulaştırma Miktarı | Kamulaştırılan alan (m²). | Ondalık sayı (örn: 123.45) | Sayısal, nokta ayracı. Girilmesi önerilir. Örnek: 200.00 |
15 | İrtifak Miktarı | İrtifak hakkı alanı (m²). | Ondalık sayı (örn: 123.45) | Sayısal, nokta ayracı. Girilmesi önerilir. Örnek: 202.00 |
16 | Kütük Sayfa No | Tapu kütüğündeki sayfa numarası. | Tam sayı | Tam sayı, cilt no yazılmaz. Örnek: 5005 |
17 | Eski Kamulaştırma Miktarı | Önceki kamulaştırma miktarı (m²). | Ondalık sayı (örn: 123.45) | Sayısal, nokta ayracı. Varsa girilir. Örnek: 201.00 |
18 | Fiili Cinsi | Fiziksel kullanım cinsi. | Metin | Boş olabilir, varsa girilmeli. Örnek: FİİLİ |
19 | İmar Durumu | İmar durumu (0: İmar İçi, 1: Mücavir, 2: Köy, 3: Mücavir Dışı). | 0, 1, 2, 3 | Sadece 0, 1, 2, 3. Örnek: 0 |
20 | Tescil Tipi | Tescil durumu (1: Tescilli, 0: Tescilsiz). | 0 veya 1 | Sadece 0 veya 1. Boşsa 1 kabul edilir. Örnek: 0 |
21 | Bina Sayısı | Parseldeki bina sayısı. | Tam sayı (≥0) | 0 veya pozitif tam sayı. Boşsa 0. Örnek: 67 |
22 | İrtifak Süresi | İrtifak hakkı süresi. | Tam sayı (≥0) | Zorunlu değil. Örnek: 49 |
25 | Eski Parsel No | Önceki ada-parsel numarası. | Metin | Zorunlu değil. Örnek: ESKIPARSEL |
28 | Açıklama-1 | Parsel ile ilgili bilgi notu. | Metin | Boş olabilir. Örnek: AÇIKLAMA1 |
29 | Açıklama-2 | Parsel ile ilgili ek bilgi notu. | Metin | Boş olabilir. Örnek: AÇIKLAMA2 |
30 | Kurum Parsel No | Kuruma ait parsel numarası. | Metin | Zorunlu değil. Örnek: KURUM |
31 | DOP Oranı | Düzenleme Ortaklık Payı oranı. | Ondalık sayı (0-100) | Yüzde değil, ondalık sayı (örn: %40 için 40). Örnek: 40.00000 |
42 | Kütük Cilt No | Tapu cilt numarası. | Tam sayı (≥0) | Tam sayı. Örnek: 55 |
43 | Geçici İrtifak Miktarı | Geçici irtifak alanı (m²). | Ondalık sayı (≥0) | Sayısal, nokta ayracı. Örnek: 203.00 |
44 | Mahalle Adı | Köy veya mahalle adı. | Metin | Metin, zorunlu değil. Örnek: MAH |
45 | İlçe Adı | İlçe adı. | Metin | Metin, zorunlu değil. Örnek: ilçe |
46 | İl Adı | İl adı. | Metin | Metin, zorunlu değil. Örnek: il |
48 | Kilometre | Eksene göre kilometre değeri. | Ondalık sayı | Sayısal, nokta ayracı. Örnek: 1.23 |
49 | Tabaka | CAD tabaka adı. | Metin | Zorunlu değil. Örnek: boş |
Anlamsız Sütunlar
Aşağıdaki sütunlar varsayılan değerler içerir ve kullanıcı tarafından doldurulmaz:
- 8_0, 23_BOŞ, 26_0, 27_0, 32_0, 33_0, 34_0, 35_0, 36_0, 37_0, 38_0, 39_0, 40_0, 41_0, 47_0, 50_boş, 51_0: Sabit 0 veya boş.
- 24_1: Sabit 1.
Örnek KAP Verisi
1000,parsel_no,123456.00,333.09,cins,mevkii,PAFTA_,6,0.000,0.000,Z,2500.00,1,200.00,202.00,5005,201.00,FİİLİ,0,0,67,49,,1,ESKIPARSEL,0.00,0.00,AÇIKLAMA1,AÇIKLAMA2,KURUM,40.00000,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,55,203.00,MAH,ilçe,il,0.00,1.23,,,0,
Açıklama:
- Virgülle ayrılmış 51 değer içerir.
- parsel_no: Ada-parsel numarası (örneğin, 101_1 olabilir).
- 123456.00: Hesap alanı (m²).
- 333.09: Tapu alanı (m²).
- Boş değerler (örn: ,,) ilgili sütunun zorunlu olmadığını gösterir.
Veri Giriş Kuralları
- Karakter Kullanımı:
- Yasak karakterler: ,, ;, %, &, # (sadece Ada_Parsel No için _ ve / izinli).
- Metinler büyük harfle yazılmalı (örn: TARLA, İMAR İÇİ).
- Ondalık Sayılar:
- Nokta (.) ayracı kullanılmalı (örn: 123.45).
- Ada-Parsel Numaralandırma:
- Ana parsel: ADA_PARSEL (örn: 101_1, ada yoksa 0_101).
- Ara parsel: ADA_PARSEL/PARÇA (örn: 101_1/B, /A1).
- Anlamlar: /A (solda), /B (kamulaştırılan), /C (sağda).
- Her ana parselde /B parçası olmalı (yoksa uyarı).
- Boş Alanlar:
- Zorunlu sütunlar (Ada_Parsel No, Hesap Alanı) boş olamaz.
- Zorunlu olmayanlarda (örn: Tapu Cinsi) boşluk yerine – önerilir.
- Açıklama Notları:
- Eksik veriler için Açıklama-1 veya Açıklama-2 kullanılmalı (örn: “TAPU ALANI BİLİNMİYOR”).
2. KML Dosyası
Genel Tanım
KML dosyası, kamulaştırma projelerinde taşınmazların malik (sahiplik) bilgilerini saklar. Dosya, 17 sütundan oluşur ve her sütun malikle ilgili bir bilgiyi temsil eder. Veriler virgülle ayrılır.
Yapı ve Sütunlar
Aşağıdaki tablo, KML 17 sütunu listeler:
Sütun No | Sütun Adı | Tanım | Veri Türü | Giriş Kuralları ve Dikkat Edilecekler |
---|---|---|---|---|
1 | Sıra No | Malik sıra numarası (ID gibi). | Tam sayı (>0, sıralı) | Benzersiz olmalı, her malik satırı için bir ID gerekli. Örnek: 41 |
2 | Ada_Parsel No | Maliğin bağlı olduğu ana parsel numarası, KAP ile ilişkili. | Metin (örn: 101_1) | KAP’taki ana parsellerle eşleşmeli, _ ayracıyla, ara parseller yok. Boş olamaz. Örnek: parsel_no |
3 | Ad Soyad | Malik adı ve soyadı (şahıs değilse normal adı). | Metin | Girilmesi zorunlu, yoksa – kullanılır. Örnek: İSMAİL YAVUZ |
4 | Baba Adı | Maliğin baba adı. | Metin | Şahıs parsellerinde zorunlu, diğerlerinde boş olabilir. Örnek: MUSTAFA |
5 | Hisse Payda | Hissenin paydası (örn: 1/5 için 5). | Tam sayı (>0) | Sadece sayı, sıfırdan büyük. Örnek: 1 |
6 | Hisse Pay | Hissenin payı (örn: 1/5 için 1). | Tam sayı (>0) | Sadece sayı, sıfırdan büyük. Örnek: 1 |
7 | Açıklama-1 | Malikle ilgili bilgi notu. | Metin | Zorunlu değil, uyarılar/notlar için kullanılabilir. Örnek: ŞAHIS |
8 | Açıklama-2 | Malikle ilgili ek bilgi notu. | Metin | Zorunlu değil. Örnek: boş |
9 | Cinsiyet | Şahıs parselleri için cinsiyet. | E, K veya boş | Erkek: E, Kadın: K, diğerleri boş. Örnek: 3 (muhtemelen hata, E veya K olmalı) |
10 | Tapu Alanı | Maliğin bağlı olduğu tapunun alanı (m²). | Ondalık sayı (örn: 123.45) | Zorunlu değil, KAP ile tutarlı olmalı. Örnek: 333.09 |
11 | Tapu Cinsi | Maliğin bağlı olduğu tapunun cinsi. | Metin | Zorunlu değil, KAP ile tutarlı olmalı. Örnek: cins |
12 | TC Kimlik No | Şahıslar için 11 haneli TC Kimlik No, diğerleri için vergi kimlik no. | Sayı | Sayı olmalı, zorunlu değil. Örnek: boş |
13 | Adres | Maliğin adresi. | Metin | Zorunlu değil. Örnek: boş |
14 | Posta Kodu | Maliğin posta kodu. | Sayı | Zorunlu değil. Örnek: boş |
15 | İl | Maliğin adresinin ili. | Metin | Zorunlu değil. Örnek: boş |
16 | İlçe | Maliğin adresinin ilçesi. | Metin | Zorunlu değil. Örnek: boş |
17 | Mahalle | Maliğin adresinin mahalle veya köyü. | Metin | Zorunlu değil. Örnek: MAH |
Örnek KML Verisi
41,parsel_no,İSMAİL YAVUZ,MUSTAFA,1,1,ŞAHIS,,3,333.09,cins,,,,,,MAH,
Açıklama:
- Virgülle ayrılmış 17 değer içerir.
- 41: Sıra numarası (benzersiz ID).
- parsel_no: KAP’taki ana parsel (örneğin, 101_1).
- İSMAİL YAVUZ: Malik adı-soyadı.
- 1,1: Hisse oranı (1/1, yani tam hisse).
- 3: Cinsiyet sütununda hata (doğru format E veya K olmalı).
Veri Giriş Kuralları
- KAP ile İlişki:
- Ada_Parsel No sadece KAP’taki ana parsellerle eşleşmeli (ara parseller /A, /B, /C yok).
- Tapu Alanı ve Tapu Cinsi KML’de girilmişse, KAP’takilerle uyumlu olmalı.
- Hisse Kontrolü:
- Her parsel için maliklerin hisse oranları (Hisse Pay / Hisse Payda) toplamı 1’e eşit olmalı.
- Zorunlu Alanlar:
- Sıra No, Ada_Parsel No, Ad Soyad, Hisse Pay, Hisse Payda boş olamaz.
- Şahıs parsellerinde Baba Adı zorunlu.
- Format:
- Metinler büyük harf olmalı.
- Ondalık sayılar için nokta ayracı (örn: 123.45).
- Cinsiyet: Sadece E, K veya boş.
3. Veri Kontrol ve Doğrulama
Netcad Kamulaştırma Modülü’nde KAP ve KML dosyalarının doğru işlenmesi için aşağıdaki kontroller yapılmalıdır:
- KAP Dosyası Kontrolleri:
- Sütun sayısı 51 olmalı.
- Ada_Parsel No formatı doğru olmalı (ADA_PARSEL veya ADA_PARSEL/PARÇA).
- Hesap Alanı boş olamaz, Tapu Alanı boşsa Açıklama-1’de not olmalı.
- Kamulaştırma Miktarı ve İrtifak Miktarı, Tapu Alanı’ndan büyük olamaz.
- Ana parsellerde Kurum No benzersiz olmalı.
- KML Dosyası Kontrolleri:
- Sütun sayısı 17 olmalı.
- Sıra No benzersiz olmalı.
- Ada_Parsel No KAP’taki ana parsellerle eşleşmeli.
- Her parselin hisse oranları toplamı 1’e eşit olmalı.
- Şahıs parsellerinde Baba Adı ve uygun Cinsiyet (E veya K) zorunlu.
- KAP-KML Entegrasyon Kontrolleri:
- KML’deki Ada_Parsel No değerleri, KAP’taki ana parsellerle uyumlu olmalı.
- KML’deki Tapu Alanı ve Tapu Cinsi, KAP’takilerle tutarlı olmalı (eğer girilmişse).
Örnek Kontrol Scripti
Aşağıdaki Python scripti, KAP ve KML dosyalarını kontrol eder ve hataları/uyarıları raporlar. Örnek veriler üzerinden test edilmiştir.
python
import pandas as pd
import re
def kontrol_kap(dosya_yolu):
df = pd.read_csv(dosya_yolu, header=None)
hatalar = []
uyarilar = []
# Sütun sayısı kontrolü
if len(df.columns) != 51:
hatalar.append(f"KAP dosyası {len(df.columns)} sütun içeriyor, 51 sütun olmalı!")
for i, row in df.iterrows():
# 1. Kurum No
if pd.isna(row[0]) and '/' not in str(row[1]):
uyarilar.append(f"Satır {i}: Ana parselde Kurum No boş, doldurulması tercih edilir.")
kurum_nolar = df[df[1].str.contains('/').eq(False)][0]
if kurum_nolar.duplicated().any():
hatalar.append(f"Kurum No: Ana parsellerde benzersiz olmalı, tekrarlar: {kurum_nolar[kurum_nolar.duplicated()].tolist()}")
# 2. Ada_Parsel No
parsel = str(row[1])
if pd.isna(row[1]):
hatalar.append(f"Satır {i}: Ada_Parsel No boş olamaz!")
if not re.match(r'^(?:\d+_\d+|\d+)(?:/[ABC]\d*)?$', parsel):
hatalar.append(f"Satır {i}: Geçersiz Ada_Parsel No formatı: {parsel}")
if '_' not in parsel and '/' not in parsel:
uyarilar.append(f"Satır {i}: Ada_Parsel No '_' içermiyor, ada sıfır kabul edilir: {parsel}")
# 3-4. Hesap Alanı ve Tapu Alanı
for idx, col in enumerate([2, 3], 3):
if pd.isna(row[idx]):
hatalar.append(f"Satır {i}: {'Hesap Alanı' if idx == 2 else 'Tapu Alanı'} boş olamaz!")
try:
float(row[idx])
except (ValueError, TypeError):
hatalar.append(f"Satır {i}: {'Hesap Alanı' if idx == 2 else 'Tapu Alanı'} sayısal olmalı: {row[idx]}")
if pd.isna(row[3]) and (pd.isna(row[27]) or "TAPU ALANI BİLİNMİYOR" not in str(row[27])):
hatalar.append(f"Satır {i}: Tapu Alanı boş, Açıklama-1’de not olmalı!")
return hatalar, uyarilar, df
def kontrol_kml(dosya_yolu, kap_df):
df = pd.read_csv(dosya_yolu, header=None)
hatalar = []
uyarilar = []
# Sütun sayısı kontrolü
if len(df.columns) != 17:
hatalar.append(f"KML dosyası {len(df.columns)} sütun içeriyor, 17 sütun olmalı!")
kap_ana_parseller = set(kap_df[kap_df[1].str.contains('/').eq(False)][1])
for i, row in df.iterrows():
# 1. Sıra No
if pd.isna(row[0]):
hatalar.append(f"Satır {i}: Sıra No boş olamaz!")
try:
if not float(row[0]).is_integer() or row[0] <= 0:
hatalar.append(f"Satır {i}: Sıra No pozitif tam sayı olmalı: {row[0]}")
except (ValueError, TypeError):
hatalar.append(f"Satır {i}: Sıra No sayısal olmalı: {row[0]}")
if df[0].duplicated().any():
hatalar.append(f"Sıra No: Benzersiz olmalı, tekrarlar: {df[df[0].duplicated()][0].tolist()}")
# 2. Ada_Parsel No
parsel = str(row[1])
if pd.isna(row[1]):
hatalar.append(f"Satır {i}: Ada_Parsel No boş olamaz!")
if parsel not in kap_ana_parseller:
hatalar.append(f"Satır {i}: Ada_Parsel No KAP’taki ana parsellerle eşleşmiyor: {parsel}")
# 3. Ad Soyad
if pd.isna(row[2]) or str(row[2]) == '':
if pd.isna(row[6]) or "MALİK ADI BİLİNMİYOR" not in str(row[6]):
hatalar.append(f"Satır {i}: Ad Soyad boş, Açıklama-1’de not olmalı!")
# 5-6. Hisse Pay ve Payda
for idx, col in enumerate([4, 5], 5):
if pd.isna(row[idx]):
hatalar.append(f"Satır {i}: {'Hisse Pay' if idx == 5 else 'Hisse Payda'} boş olamaz!")
try:
if not float(row[idx]).is_integer() or row[idx] <= 0:
hatalar.append(f"Satır {i}: {'Hisse Pay' if idx == 5 else 'Hisse Payda'} pozitif tam sayı olmalı: {row[idx]}")
except (ValueError, TypeError):
hatalar.append(f"Satır {i}: {'Hisse Pay' if idx == 5 else 'Hisse Payda'} sayısal olmalı: {row[idx]}")
# 9. Cinsiyet
if not pd.isna(row[8]) and row[8] not in ['E', 'K']:
hatalar.append(f"Satır {i}: Cinsiyet sadece E veya K olmalı: {row[8]}")
# Hisse oranları kontrolü
for parsel in df[1].unique():
parsel_hisseler = df[df[1] == parsel]
toplam_hisse = sum(parsel_hisseler[5] / parsel_hisseler[4])
if abs(toplam_hisse - 1.0) > 0.01:
hatalar.append(f"Parsel {parsel}: Toplam hisse oranı 1’e eşit değil: {toplam_hisse}")
return hatalar, uyarilar, df
# Test
kap_hatalar, kap_uyarilar, kap_df = kontrol_kap('kap.csv')
kml_hatalar, kml_uyarilar, kml_df = kontrol_kml('kml.csv', kap_df)
print("KAP Hataları:", kap_hatalar)
print("KAP Uyarıları:", kap_uyarilar)
print("KML Hataları:", kml_hatalar)
print("KML Uyarıları:", kml_uyarilar)
4. Sonraki Adımlar ve Sorular
Kılavuzu hazırladım ve örnek verilere dayalı bir kontrol scripti sundum. Şimdi, kılavuzu finalize etmek ve projeyi ilerletmek için aşağıdaki soruları soruyorum:
- Kılavuz Onayı:
- KAP ve KML tabloları doğru mu? Eksik veya yanlış bir sütun/kural var mı?
- Örnek verilerle uyumlu mu, yoksa başka örnekler eklemeli miyim?
- Kılavuza eklenmesi gereken başka bölümler var mı (örn: Netcad yükleme adımları, hata giderme)?
- Kontrol Scripti:
- Script, ihtiyaçlarını karşılıyor mu? Örnek verilerle test edildiğinde doğru hataları/uyarıları üretiyor mu?
- KML’deki Cinsiyet sütununda 3 gibi hatalı bir değer var; bunu nasıl ele alalım (örneğin, uyarı mı, hata mı)?
- Ek kontroller gerekiyor mu (örn: ara parsel alan toplamı, KAP-KML adres uyumu)?
- Test Verileri:
- Daha fazla örnek KAP/KML verisi sağlayabilir misin? Özellikle birden fazla malik veya ara parsel içeren veriler faydalı olur.
- Alternatif olarak, ben dummy bir veri seti oluşturabilirim; onaylar mısın?
- Netcad Entegrasyonu:
- KAP ve KML dosyaları Netcad’e nasıl yükleniyor (örn: CSV import, manuel eşleştirme)?
- Scriptin Netcad ile entegre olması gerekiyor mu (örn: API, eklenti)?
- Kılavuz Formatı:
- Kılavuzu PDF, Word veya başka bir formatta mı istiyorsun?
- Türkçe mi, yoksa İngilizce eklenmeli mi?
- Görseller (örn: Netcad ekran görüntüleri) eklemeli miyiz?
- Öncelikler:
- Hangi kontroller en kritik (örn: hisse oranı, KAP-KML eşleşmesi)?
- Kılavuz mu, yoksa script geliştirme mi öncelikli?
yapay zeka modellemesi:
KAP ve KML dosyalarının mantığını ve yapısını Netcad Kamulaştırma Modülü bağlamında detaylı bir şekilde kavradım. Şimdi, bu bilgiyi başka bir yapay zeka modeline (örneğin, ChatGPT veya bir GPT modeli) açıklarken nasıl bir yaklaşım izleyeceğin konusunda sana rehberlik edeceğim. Amacın, bu dosyaların ne olduğunu, yapılarını, kurallarını ve KAP-KML arasındaki ilişkiyi net bir şekilde anlatmaksa, aşağıdaki adımları ve örneği kullanarak bunu yapabilirsin. Sana, bir yapay zeka modeline bu bilgileri aktarmak için yapılandırılmış bir prompt ve açıklama stratejisi sunacağım.
1. Neden Yapılandırılmış Bir Prompt Önemli?
Yapay zeka modelleri (özellikle ChatGPT gibi büyük dil modelleri), net, düzenli ve spesifik talimatlarla daha iyi sonuçlar üretir. KAP ve KML dosyalarının karmaşık yapısını anlatırken, aşağıdaki unsurları içeren bir prompt kullanmak önemlidir:
- Bağlam: KAP ve KML dosyalarının ne için kullanıldığını (Netcad Kamulaştırma Modülü, kamulaştırma projeleri) belirt.
- Amaç: Dosyaların mantığını ve yapısını anlamasını istediğini vurgula.
- Detaylar: Sütun yapıları, veri türleri, kurallar ve KAP-KML ilişkisi gibi teknik bilgileri açıkla.
- Örnekler: Gerçek veya dummy verilerle somutlaştırmak, modelin kavramasını kolaylaştırır.
- Talimat: Modelden ne istediğini netleştir (örn: özetleme, doğrulama kodu yazma, sorular sorma).
2. KAP ve KML Dosyalarını Anlatmak için Prompt Örneği
Aşağıda, KAP ve KML dosyalarının mantığını ve yapısını başka bir yapay zeka modeline anlatmak için kullanabileceğin bir prompt şablonu sunuyorum. Bu prompt, hem genel bir anlayış sağlar hem de teknik detayları içerir. Ayrıca, örnek verileri ve KAP-KML ilişkisini vurgular.
**Prompt:** Merhaba, sana Netcad Kamulaştırma Modülü'nde kullanılan KAP ve KML dosyalarının mantığını ve yapısını anlatacağım. Amacım, bu dosyaların ne olduğunu, nasıl yapılandırıldığını, veri giriş kurallarını ve aralarındaki ilişkiyi anlaman. Lütfen bu bilgileri okuyup anladığını teyit et ve ardından [buraya istediğin çıktıyı yaz, örn: özetle, bir doğrulama kodu yaz, sorular sor]. Aşağıda detaylar: ### 1. Genel Bağlam - **KAP Dosyası:** Kamulaştırma projelerinde taşınmazların tapu ve kadastral bilgilerini tutar. Netcad Kamulaştırma Modülü, bu dosyayı kullanarak parsel bilgilerini CAD verileriyle ilişkilendirir. - **KML Dosyası:** Aynı projelerde taşınmazların malik (sahiplik) bilgilerini tutar. KAP ile bağlantılıdır, özellikle parsel numaraları üzerinden. - **Format:** Her iki dosya da virgülle ayrılmış (CSV) formatta olup, her sütun belirli bir bilgiyi temsil eder. - **Amaç:** Kamulaştırma süreçlerinde tapu, kadastro ve sahiplik verilerini düzenli ve standart bir şekilde saklamak/işlemek. ### 2. KAP Dosyası Yapısı - **Sütun Sayısı:** 51 sütun, ancak bazıları anlamsızdır (`_0` veya `_BOŞ` ile işaretlenmiş, örn: `8_0`, `23_BOŞ`). - **Önemli Sütunlar (33 tane):** Aşağıda temel sütunlar, tanımları, veri türleri ve kuralları listeleniyor: - **Kurum No (Sütun 1):** Plan veya ilçe bazlı kurum numarası. Veri türü: Metin veya sayı. Kural: Ana parsellerde benzersiz olmalı, ara parsellerde boş olabilir. - **Ada_Parsel No (Sütun 2):** Ada ve parsel numarası, `_` ile ayrılır (örn: `101_1`). Ara parseller `/A`, `/B`, `/C` içerir (örn: `101_1/B`). Veri türü: Metin. Kural: Boş olamaz, sadece harf, sayı, `_`, `/` içerir. - **Hesap Alanı (Sütun 3):** Koordinatlarla hesaplanan alan (m²). Veri türü: Ondalık sayı (örn: `123.45`). Kural: Boş olamaz, nokta ayracı. - **Tapu Alanı (Sütun 4):** Tapuda kayıtlı alan (m²). Veri türü: Ondalık sayı. Kural: Boşsa, Açıklama-1’de not gerekir (örn: “TAPU ALANI BİLİNMİYOR”). - **Tapu Cinsi (Sütun 5):** Taşınmazın cinsi (örn: `TARLA`). Veri türü: Metin. Kural: Boşsa `-` girilir. - **Diğer Önemli Sütunlar:** Mevkiisi, Paftası, Ağırlık Merkezi (X/Y), Kamulaştırma Miktarı, İmar Durumu (`0`, `1`, `2`, `3`), vb. (Tam liste için detaylı tabloya bak). - **Anlamsız Sütunlar:** `8_0`, `23_BOŞ`, `26_0` gibi sütunlar sabit `0` veya boş olup kullanıcı tarafından doldurulmaz. - **Örnek KAP Verisi:**
1000,101_1,123456.00,333.09,TARLA,MEVKII,PAFTA_,6,0.000,0.000,Z,2500.00,1,200.00,202.00,5005,201.00,FİİLİ,0,0,67,49,,1,ESKIPARSEL,0.00,0.00,AÇIKLAMA1,AÇIKLAMA2,KURUM,40.00000,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,55,203.00,MAH,ILCE,IL,0.00,1.23,,,0,
- **Kurallar:** - Metinler büyük harf olmalı. - Ondalık sayılar için nokta ayracı (örn: `123.45`). - `Ada_Parsel No` için ara parsellerde `/B` parçası olmalı (yoksa uyarı). - Yasak karakterler: `,`, `;`, `%`, `&`, `#` (sadece `_` ve `/` izinli). ### 3. KML Dosyası Yapısı - **Sütun Sayısı:** 17 sütun, tamamı anlamlı. - **Sütunlar:** Aşağıda tüm sütunlar, tanımları, veri türleri ve kuralları listeleniyor: - **Sıra No (Sütun 1):** Malik için benzersiz ID. Veri türü: Tam sayı (>0). Kural: Benzersiz ve sıralı olmalı. - **Ada_Parsel No (Sütun 2):** KAP’taki ana parsel numarası (örn: `101_1`, ara parseller yok). Veri türü: Metin. Kural: KAP’taki ana parsellerle eşleşmeli. - **Ad Soyad (Sütun 3):** Malik adı-soyadı. Veri türü: Metin. Kural: Boşsa `-` veya Açıklama-1’de not gerekir. - **Baba Adı (Sütun 4):** Şahıs parsellerinde baba adı. Veri türü: Metin. Kural: Şahıslar için zorunlu. - **Hisse Payda (Sütun 5):** Hissenin paydası (örn: 1/5 için `5`). Veri türü: Tam sayı (>0). Kural: Boş olamaz. - **Hisse Pay (Sütun 6):** Hissenin payı (örn: 1/5 için `1`). Veri türü: Tam sayı (>0). Kural: Boş olamaz, Payda’dan büyük olamaz. - **Cinsiyet (Sütun 9):** Şahıslar için cinsiyet (`E`: Erkek, `K`: Kadın). Veri türü: `E`, `K` veya boş. Kural: Diğer değerler hata. - **Tapu Alanı (Sütun 10):** Parselin tapu alanı. Veri türü: Ondalık sayı. Kural: Zorunlu değil, KAP ile uyumlu olmalı. - **Diğer Sütunlar:** Açıklama-1, Açıklama-2, TC Kimlik No, Adres, İl, İlçe, Mahalle (çoğu zorunlu değil). - **Örnek KML Verisi:**
41,101_1,İSMAİL YAVUZ,MUSTAFA,1,1,ŞAHIS,,E,333.09,TARLA,,,,,,MAH,
- **Kurallar:** - Her parselin maliklerinin hisse oranları (`Hisse Pay / Hisse Payda`) toplamı 1’e eşit olmalı. - `Ada_Parsel No` sadece KAP’taki ana parsellerle eşleşir. - Metinler büyük harf, ondalık sayılar için nokta ayracı. ### 4. KAP ve KML İlişkisi - **Bağlantı Noktası:** KML’deki `Ada_Parsel No`, KAP’taki ana parsellerle eşleşir. - **Tutarlılık:** - KML’deki `Tapu Alanı` ve `Tapu Cinsi`, KAP’takilerle uyumlu olmalı (eğer girilmişse). - Örn: KAP’ta `101_1` için `Tapu Alanı=333.09` ise, KML’deki ilgili malik satırında da aynı olmalı. - **Hisse Kontrolü:** Bir parselin tüm maliklerinin hisse oranları toplamı 1 olmalı. ### 5. Talimat Lütfen bu bilgileri okuyup anladığını teyit et. Ardından: - KAP ve KML dosyalarının mantığını ve yapısını kendi kelimelerinle özetle. - Örnek verilere dayanarak bir doğrulama algoritması taslağı öner (örn: Python’da). - Varsa, bu yapı hakkında anlamadığın noktaları sor. **Ek Not:** Eğer bir doğrulama scripti yazmanı istersem, sütun formatlarını, KAP-KML eşleşmesini ve hisse oranı toplamını kontrol eden bir kod öner.
3. Promptu Kullanma Stratejisi
Bu promptu ChatGPT veya başka bir GPT modeline aktarırken şu adımları izleyebilirsin:
- Bağlamı Netleştir:
- Modelin hangi rolde davranmasını istediğini belirt (örn: “Bir veri analisti gibi davran” veya “Netcad geliştiricisi gibi düşün”).
- Örnek: “Netcad Kamulaştırma Modülü için bir veri uzmanı gibi, KAP ve KML dosyalarını anlamanı istiyorum.”
- Kademeli Açıklama:
- Eğer modelin önce genel mantığı anlamasını, sonra detaylara geçmesini istiyorsan, promptu bölümlere ayırabilirsin:
- İlk prompt: Genel bağlam ve dosya amacı.
- İkinci prompt: KAP ve KML sütun yapıları.
- Üçüncü prompt: Kurallar ve KAP-KML ilişkisi.
- Eğer modelin önce genel mantığı anlamasını, sonra detaylara geçmesini istiyorsan, promptu bölümlere ayırabilirsin:
- Somut Talimatlar:
- Modelden ne istediğini açıkça belirt:
- Özetleme: “Yapıyı 200 kelimeyle özetle.”
- Kod Yazma: “Python’da KAP ve KML dosyalarını kontrol eden bir script yaz.”
- Soru Sorma: “Bu yapı hakkında 3 soru sor.”
- Örnek: “KAP ve KML dosyalarını kontrol eden bir Python scripti yaz. Ada_Parsel No eşleşmesini, hisse oranı toplamını ve zorunlu alanları doğrula.”
- Modelden ne istediğini açıkça belirt:
- Örneklerle Destekle:
- Verdiğim örnek verileri (veya kendi dummy verilerini) mutlaka ekle. Bu, modelin soyut kavramları somutlaştırmasını sağlar.
- Örnek: “KAP: 1000,101_1,123456.00,333.09,… ve KML: 41,101_1,İSMAİL YAVUZ,… verilerine bakarak kontrol yap.”
- Geri Bildirim Döngüsü:
- Modelin yanıtını incele. Eğer eksik veya yanlışsa, ek bilgi vererek düzelt:
- Örnek: “Hisse oranı kontrolünü unuttun, her parselin Hisse Pay / Hisse Payda toplamı 1 olmalı.”
- Modelin yanıtını incele. Eğer eksik veya yanlışsa, ek bilgi vererek düzelt:
4. Örnek Çıktı Beklentisi
Promptu ChatGPT’ye verdiğinde, modelin aşağıdaki gibi bir yanıt vermesini bekleyebilirsin:
Model Çıktısı (Örnek):
Anladım! KAP ve KML dosyalarının mantığını ve yapısını kavradım. Özetle:
- KAP Dosyası: 51 sütunlu, tapu ve kadastral bilgileri içerir (örn: Ada_Parsel No, Tapu Alanı). 33 sütun anlamlıdır, diğerleri sabit (0, boş). Ana parseller (101_1) ve ara parseller (101_1/B) içerir.
- KML Dosyası: 17 sütunlu, malik bilgilerini tutar (örn: Ad Soyad, Hisse Pay). Ada_Parsel No ile KAP’a bağlanır.
- İlişki: KML’deki Ada_Parsel No, KAP’taki ana parsellerle eşleşir. Hisse oranları toplamı 1 olmalı.
Doğrulama Algoritması Taslağı (Python):
python
import pandas as pd
def validate_kap_kml(kap_path, kml_path):
kap_df = pd.read_csv(kap_path, header=None)
kml_df = pd.read_csv(kml_path, header=None)
errors = []
# KAP: Sütun sayısı kontrolü
if len(kap_df.columns) != 51:
errors.append("KAP: 51 sütun gerekli!")
# KML: Sütun sayısı ve hisse kontrolü
if len(kml_df.columns) != 17:
errors.append("KML: 17 sütun gerekli!")
for parsel in kml_df[1].unique():
hisseler = kml_df[kml_df[1] == parsel]
total_share = sum(hisseler[5] / hisseler[4])
if abs(total_share - 1.0) > 0.01:
errors.append(f"Parsel {parsel}: Hisse toplamı 1 değil!")
return errors
Sorular:
- KAP’taki ara parsellerin alan toplamı ana parseli doğrulamak için kontrol edilmeli mi?
- KML’de TC Kimlik No için 11 hane zorunlu mu?
- Netcad’e yükleme için başka formatlar (örn: Excel) destekleniyor mu?