İç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
- İlk onay gövdesine
kaynak: {"yeni": {"ad": "Örnek altyapı"}}ve seçilenanahtar_alanideğerini ekleyin. Anahtar adaylarını yükleme yanıtındakianahtar_adaylarilistesinden alın. - Kaynakları
GET /api/p/{pid}/kaynaklarile okuyun. Aynı kaynağın sonraki dosyasını normal yükleme ucuna gönderin. POST /api/p/{pid}/import/{token}/farkçağrısınakaynak_id,crs,groupsve gerekirseanahtar_alanigönderin.sayilar,ornekler,esleme_degistive 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.- Onay isteğinde
kaynak: {"id": 123},hedef,kararlarverequest_idgönderin. Buradaki123gerçek kaynak kimliğiyle değiştirilir. - 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.
POST /api/p/{pid}/birim-aktarimilefilealanını yükleyin;token, sütunlar ve eşleme önerilerini alın.POST /api/p/{pid}/birim-aktarim/{token}/onizlemeçağrısınakaynak, isteğe bağlısayfa,alanlar,sabitler,durumlargönderin.- Önizlemedeki kabul, ret, mevcut ve değişmiş kaynak satırlarını inceleyin.
- Aynı gövdeye önizlemenin
ozetdeğeri ve 8–64 karakterlikrequest_idekleyerekPOST /api/p/{pid}/birim-aktarim/{token}çağrısını yapın. - İ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.