Home / Yapay Zeka / KAP/KML Dosya Yapısı ve Yapay zeka Promptu

KAP/KML Dosya Yapısı ve Yapay zeka Promptu

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 NoSütun AdıTanımVeri TürüGiriş Kuralları ve Dikkat Edilecekler
1Kurum NoKurum numarası, plan veya ilçe bazlı.Sayı veya harf içerebilirAna parsellerde benzersiz olmalı, ara parsellerde boş olabilir. Boş olması tercih edilmez. Örnek: 1000
2Ada_Parsel NoAda 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
3Hesap AlanıKoordinatlarla hesaplanan sayısal alan (m²).Ondalık sayı (örn: 123.45)Sayısal, nokta ayracı. Boş olamaz. Örnek: 123456.00
4Tapu 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
5Tapu CinsiTapuda kayıtlı taşınmaz cinsi.MetinBoş olamaz, boşsa – girilir. Mevzuat gereği yazılmalı. Örnek: cins
6MevkiisiTapuda kayıtlı mevki.MetinBoş olamaz, boşsa – girilir. Mevzuat gereği yazılmalı. Örnek: mevkii
7PaftasıTapuda kayıtlı pafta adı.MetinBoş olamaz, boşsa – girilir. Mevzuat gereği yazılmalı. Örnek: PAFTA_
9Ağırlık Merkezi YAğı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
10Ağırlık Merkezi XAğı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
11ZilyedlikZilyetlik durumu.Tek karakter (harf/sayı)Zorunlu değil, tek karakter. Örnek: Z
12Pafta ÖlçeğiPaftanın ölçek oranı.Tam sayı (örn: 1000)Tam sayı, 1/1000 değil 1000 girilir. Örnek: 2500.00
13Tecviz TipiYapılaşma durumu (1: Var, 0: Yok).0 veya 1Sadece 0 veya 1. Boşsa 0 kabul edilir. Örnek: 1
14Kamulaş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
16Kütük Sayfa NoTapu kütüğündeki sayfa numarası.Tam sayıTam sayı, cilt no yazılmaz. Örnek: 5005
17Eski 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
18Fiili CinsiFiziksel kullanım cinsi.MetinBoş 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, 3Sadece 0, 1, 2, 3. Örnek: 0
20Tescil TipiTescil durumu (1: Tescilli, 0: Tescilsiz).0 veya 1Sadece 0 veya 1. Boşsa 1 kabul edilir. Örnek: 0
21Bina 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
25Eski Parsel NoÖnceki ada-parsel numarası.MetinZorunlu değil. Örnek: ESKIPARSEL
28Açıklama-1Parsel ile ilgili bilgi notu.MetinBoş olabilir. Örnek: AÇIKLAMA1
29Açıklama-2Parsel ile ilgili ek bilgi notu.MetinBoş olabilir. Örnek: AÇIKLAMA2
30Kurum Parsel NoKuruma ait parsel numarası.MetinZorunlu değil. Örnek: KURUM
31DOP 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
42Kütük Cilt NoTapu cilt numarası.Tam sayı (≥0)Tam sayı. Örnek: 55
43Geçici İrtifak MiktarıGeçici irtifak alanı (m²).Ondalık sayı (≥0)Sayısal, nokta ayracı. Örnek: 203.00
44Mahalle AdıKöy veya mahalle adı.MetinMetin, zorunlu değil. Örnek: MAH
45İlçe Adıİlçe adı.MetinMetin, zorunlu değil. Örnek: ilçe
46İl Adıİl adı.MetinMetin, zorunlu değil. Örnek: il
48KilometreEksene göre kilometre değeri.Ondalık sayıSayısal, nokta ayracı. Örnek: 1.23
49TabakaCAD tabaka adı.MetinZorunlu 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ı

  1. Karakter Kullanımı:
    • Yasak karakterler: ,, ;, %, &, # (sadece Ada_Parsel No için _ ve / izinli).
    • Metinler büyük harfle yazılmalı (örn: TARLA, İMAR İÇİ).
  2. Ondalık Sayılar:
    • Nokta (.) ayracı kullanılmalı (örn: 123.45).
  3. 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ı).
  4. Boş Alanlar:
    • Zorunlu sütunlar (Ada_Parsel No, Hesap Alanı) boş olamaz.
    • Zorunlu olmayanlarda (örn: Tapu Cinsi) boşluk yerine – önerilir.
  5. 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 NoSütun AdıTanımVeri TürüGiriş Kuralları ve Dikkat Edilecekler
1Sıra NoMalik sıra numarası (ID gibi).Tam sayı (>0, sıralı)Benzersiz olmalı, her malik satırı için bir ID gerekli. Örnek: 41
2Ada_Parsel NoMaliğ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
3Ad SoyadMalik adı ve soyadı (şahıs değilse normal adı).MetinGirilmesi zorunlu, yoksa – kullanılır. Örnek: İSMAİL YAVUZ
4Baba AdıMaliğin baba adı.MetinŞahıs parsellerinde zorunlu, diğerlerinde boş olabilir. Örnek: MUSTAFA
5Hisse PaydaHissenin paydası (örn: 1/5 için 5).Tam sayı (>0)Sadece sayı, sıfırdan büyük. Örnek: 1
6Hisse PayHissenin payı (örn: 1/5 için 1).Tam sayı (>0)Sadece sayı, sıfırdan büyük. Örnek: 1
7Açıklama-1Malikle ilgili bilgi notu.MetinZorunlu değil, uyarılar/notlar için kullanılabilir. Örnek: ŞAHIS
8Açıklama-2Malikle ilgili ek bilgi notu.MetinZorunlu değil. Örnek: boş
9CinsiyetŞ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ı)
10Tapu 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
11Tapu CinsiMaliğin bağlı olduğu tapunun cinsi.MetinZorunlu değil, KAP ile tutarlı olmalı. Örnek: cins
12TC 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ş
13AdresMaliğin adresi.MetinZorunlu değil. Örnek: boş
14Posta KoduMaliğin posta kodu.SayıZorunlu değil. Örnek: boş
15İlMaliğin adresinin ili.MetinZorunlu değil. Örnek: boş
16İlçeMaliğin adresinin ilçesi.MetinZorunlu değil. Örnek: boş
17MahalleMaliğin adresinin mahalle veya köyü.MetinZorunlu 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ı

  1. 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ı.
  2. Hisse Kontrolü:
    • Her parsel için maliklerin hisse oranları (Hisse Pay / Hisse Payda) toplamı 1’e eşit olmalı.
  3. Zorunlu Alanlar:
    • Sıra No, Ada_Parsel No, Ad Soyad, Hisse Pay, Hisse Payda boş olamaz.
    • Şahıs parsellerinde Baba Adı zorunlu.
  4. 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:

  1. 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ı.
  2. 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.
  3. 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:

  1. 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)?
  2. 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)?
  3. 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?
  4. 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)?
  5. 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?
  6. Ö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:

  1. 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.”
  2. 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.
  3. 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.”
  4. Ö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.”
  5. 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ı.”

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:

  1. KAP’taki ara parsellerin alan toplamı ana parseli doğrulamak için kontrol edilmeli mi?
  2. KML’de TC Kimlik No için 11 hane zorunlu mu?
  3. Netcad’e yükleme için başka formatlar (örn: Excel) destekleniyor mu?