İçe aktarım API’si

Geometri ve birim tablolarını yükleme, önizleme ve onay adımlarıyla aktarın.

Son güncelleme:

Bu sayfadaİki ayrı aktarım akışıGeometri dosyasını yüklemeEşleme ve kayıtKablo uçlarını bağlamaKaynakla yeniden aktarımGeometri aktarımının sınırlarıBirim tablosu aktarımı

İki ayrı aktarım akışı

Geometrili dosyalar /import, adres ve bina birim tabloları /birim-aktarim uçlarını kullanır. İkisi de oturum ve yazma yetkisi ister. Kaynak seçmeden yapılan geometri aktarımı yeni nesneler oluşturur. Bir veri kaynağına bağlanan aktarımda ise önceki kaynak, yeni dosya ve yerel kayıt karşılaştırılarak kontrollü yeniden aktarım yapılabilir.

Geometri dosyasını yükleme

POST /api/p/{pid}/import isteğinde dosya, multipart/form-data içindeki file alanında gönderilir. Kabul edilen biçimler KML, KMZ, GeoJSON/JSON, ZIP içindeki Shapefile veya FileGDB, CSV/TXT, DXF, GeoPackage ve DGN V7’dir. Kurulumda açık biçimleri GET /api/meta yanıtından okuyun. XLSX bu geometri akışının giriş biçimi değildir.

Biçim Kurulum ve içerik koşulu
GeoPackage (.gpkg) Geometrili katmanlar okunur; koordinat sistemi ve alan eşlemeleri önizlemede kontrol edilir.
FileGDB (.zip) Arşiv bir .gdb veri kümesi içermelidir; pyogrio ve okunabilir OpenFileGDB sürücüsü gerekir.
DGN (.dgn) Yalnız V7 okunur; pyogrio ve DGN sürücüsü gerekir. V8 kabul edilmez.
DXF (.dxf) Geometriyle birlikte desteklenen CAD tanımı ve nesne kimlikleri okunabilir.

FileGDB eğrileri çizgiye dönüştürülür; özgün CAD eğri tanımı bu biçimde korunmaz. Dönen uyarilar, donusumler, skipped ve source_total alanlarını kaynakla karşılaştırın. ZIP içindeki birden çok alternatif veri kümesi tek yükleme olarak kabul edilmez.

Oturum açıkken tarayıcı örneği:

const form = new FormData();
form.append('file', dosya);
const yanit = await fetch(`/api/p/${projeId}/import`, {
  method: 'POST',
  credentials: 'same-origin',
  body: form
});
const sonuc = await yanit.json();
if (!yanit.ok) throw new Error(sonuc.detail);

dosya, kullanıcının seçtiği File; projeId, erişilebilir proje kimliğidir. Yanıtın başlıca alanları:

Alan Anlam
token Sonraki onay isteğinde kullanılacak geçici aktarım kimliği
filename, format Dosya adı ve çözülen biçim
crs, crs_sure Önerilen koordinat sistemi ve önerinin kesinlik bilgisi
groups Kaynak gruplarının key, name, count, geom, alan ve hedef tür önerileri
skipped, source_total Kaynak okuyucunun sağlayabildiği atlanan kayıt ve toplam bilgisi
has_local, local_name Projede yerel koordinat dönüşümü tanımlı olup olmadığı

Yükleme, proje nesnelerini henüz oluşturmaz. Gruplardaki suggest ve field_map önerilerini kontrol etmeden onaylamayın.

Eşleme ve kayıt

POST /api/p/{pid}/import/{token} JSON gövdesi crs ve groups taşır. groups anahtarları yükleme yanıtındaki gerçek key değerleridir. Aşağıdaki örnek, CSV·Point adlı kaynak grubunda Ad sütunu bulunduğu varsayımıyla hazırlanmıştır:

{
  "crs": "EPSG:4326",
  "groups": {
    "CSV·Point": {
      "target": "building",
      "name_field": "Ad",
      "status": "existing",
      "fields": {}
    }
  }
}

target, geometriye uygun katalog türü, ref veya skip olabilir. ref için isteğe bağlı layer_name verilir. fields, hedef alan → kaynak sütun eşlemesidir. Ad alanı bu sözlükten ayrı olarak name_field ile eşlenir. fields gönderilmezse otomatik eşleme uygulanır; boş sözlük diğer alanlarda eşleme yapmama anlamına gelir.

Koordinat sistemi EPSG kodu veya projede tanımlı dönüşüm için local olabilir. Dönüşüm kayıt sırasında yapılır. Kaynak metre koordinatlarını WGS 84 gibi göndermeyin. CSV’de lat/lon, enlem/boylam, x/y veya WKT sütunları gerekir.

Kayıt yanıtı ok, batch, created, by_type, skipped_geometry, invalid_geometry, invalid_attributes, missing_fields, unmapped, converted_units ve field_map içerir; uç bağlama sonuçları uc altındadır. Geçersiz geometri/öznitelik taşıyan satırlar atlanabilir; kabul edilenler birlikte kaydedilir. Başarıyı yalnız ok üzerinden değerlendirmeyin. Hiç geçerli nesne kalmazsa 400 döner.

Kaynak sütunlarının tamamının her hedefte korunacağını varsaymayın. Ağ nesnesi aktarımı özgün alanları props.src içinde saklar; referans hedefinde kaynak alan sayısı 40 ve üstüne çıktığında bütün sütunlar kopyalanmaz. Entegrasyonun ihtiyaç duyduğu alanları onaydan sonra örnek kayıtlarla kontrol edin.

Kablo uçlarını bağlama

Bir kablo grubunda uc_bagla seçenekleri etkin, tol_m, yakala ve olustur alanlarıdır. tol_m 0,1–5 metre aralığında olmalıdır. Öncelik kaynakta eşlenmiş uç kimliğindedir; uygun durumda yakın düğüm aranır. Belirsiz adaylar otomatik seçilmez. olustur ile yeni uç türü verilecekse projede etkin, uygun bir düğüm türü olmalıdır.

Sonuçtaki uc sayımlarında bağlanan, oluşturulan, boş ve belirsiz uçları inceleyin. Haritada yakın görünmek tek başına teknik fiber bağlantısı kurulduğunu göstermez; kablo uç ilişkisi ile lif/port bağlantısı ayrı kayıtlardır.

Kaynakla yeniden aktarım

  1. İlk onay gövdesine kaynak: {"yeni": {"ad": "Örnek altyapı"}} ve seçilen anahtar_alani değerini ekleyin. Anahtar adaylarını yükleme yanıtındaki anahtar_adaylari listesinden alın.
  2. Kaynakları GET /api/p/{pid}/kaynaklar ile okuyun. Aynı kaynağın sonraki dosyasını normal yükleme ucuna gönderin.
  3. POST /api/p/{pid}/import/{token}/fark çağrısına kaynak_id, crs, groups ve gerekirse anahtar_alani gönderin.
  4. sayilar, ornekler, esleme_degisti ve uç bağlama sonuçlarını inceleyin. Eski kaynak, yeni kaynak ve yerel saha değerlerinin birlikte değiştiği satırlar karar gerektirir.
  5. Onay isteğinde kaynak: {"id": 123}, hedef, kararlar ve request_id gönderin. Buradaki 123 gerçek kaynak kimliğiyle değiştirilir.
  6. Varsayılan hedef: "dal" sonucunu tasarım inceleme/yayın akışında tamamlayın; hedef: "dogrudan" uygun yönetici yetkisi ister.

Kararlar kararlar.varsayilan altında sınıfa, kararlar.satir altında kaynak satırı kimliğine göre verilir. Kaynak değişimi, çakışma ve taşınma için kaynak veya yerel; kaynakta kaybolan kayıt için sil veya birak seçilebilir. Yalnız yerelde değişmiş satır korunur. Fark hesabı onay sırasında güncel veriyle yeniden yapılır; önizlemenin değişmez bir kilit olduğu varsayılmamalıdır.

Kaynak biçimi ve anahtar alanı mevcut kaynakla uyuşmalıdır. Yinelenen anahtarlar reddedilir. Altlık katmanı yeniden aktarımı tasarım dalına gönderilemez; uygun yetkiyle doğrudan uygulanır. Kaynak kaydı olmadan yapılan sıradan yeniden yükleme bu karşılaştırmayı çalıştırmaz.

Geometri aktarımının sınırları

Sınır Değer ve davranış
Yüklenen dosya 300 MiB; aşım 413
Çözülen nesne sayısı 400.000; aşım 400
ZIP/KMZ açılmış toplam içerik 1 GiB; aşım 400
Sıkıştırma oranı 1.000.000 bayttan büyük arşiv üyelerinde 200 kat üstü reddedilir
Geçici aktarım 24 saatten eski klasörler sonraki temizlemede silinebilir

Başarılı geometri aktarımının geçici dosyası silinir. Onay ucunda isteğe bağlı request_id desteklenir; aynı kullanıcı/projede aynı token ve gövdeyi aynı kimlikle tekrar gönderin. Kontrol geçici dosya okunmadan önce yapılır. Yeni bir kimlikle yeniden yükleyip otomatik onay vermek kopya kayıtlar üretebilir; önce proje ve geçmişi kontrol edin. Tekrar kaydı yoksa ve dosya bulunamazsa 404 döner.

Birim tablosu aktarımı

Birim aktarımı CSV/TXT/TSV, JSON/GeoJSON ve XLSX kabul eder. Koordinat zorunlu değildir. XLSX için sayfa seçilebilir; alanlar kaynak kimliği, bina ve birim bilgisi gibi tablo sütunlarıyla eşlenir.

  1. POST /api/p/{pid}/birim-aktarim ile file alanını yükleyin; token, sütunlar ve eşleme önerilerini alın.
  2. POST /api/p/{pid}/birim-aktarim/{token}/onizleme çağrısına kaynak, isteğe bağlı sayfa, alanlar, sabitler, durumlar gönderin.
  3. Önizlemedeki kabul, ret, mevcut ve değişmiş kaynak satırlarını inceleyin.
  4. Aynı gövdeye önizlemenin ozet değeri ve 8–64 karakterlik request_id ekleyerek POST /api/p/{pid}/birim-aktarim/{token} çağrısını yapın.
  5. İptal için DELETE /api/p/{pid}/birim-aktarim/{token} kullanın.

Onay sırasında önizleme yeniden hesaplanır. Sonuç değişmişse 409 ve yeni onizleme döner; hiçbir satır yazılmaz. Yeni bir istekle aynı dosya, kaynak ve eşleme tekrar aktarılmak istenirse etkin aktarım nedeniyle reddedilir. Aynı kullanıcı ve projede aynı request_id, token ve gövdeyle yapılan tekrar ise kayıtlı sonucu döndürür; başarılı aktarım geçici dosyayı silmiş olsa da tekrar kontrolü dosya okumadan önce yapılır. Kaynakta değişmiş satırlar mevcut kanıtın üzerine sessizce yazılmaz.

Tablo okuyucusunun sınırları 50 MiB dosya, 100.000 veri satırı, 200 sütun ve hücrede 500 karakterdir. XLSX’in açılmış toplamı 300 MiB ile sınırlıdır. Genel yükleme kapısı 300 MiB olsa da 50 MiB üstündeki birim tablosu okuyucuda 400 ile reddedilir. Bu sınırı 413 olarak varsaymayın.

Proje taşıma için bu akışlar yerine Proje paketi kullanılır.