CBS Dönüşümü

Shapefile Oluşturucu: KML, GeoJSON, GPX ve CSV'den SHP

Dosyanı yükle, koordinat sistemini ve karakter kodlamasını seç; nokta, çizgi ve alan katmanlarını .shp, .shx, .dbf, .prj ve .cpg dosyalarıyla ZIP olarak indir.

1 Girdi

KML, GPX ve GeoJSON koordinatları WGS 84 kabul edilir.

2 Çıktı koordinat sistemi

3 Seçenekler

Dosya yüklendiğinde Z değerleri denetlenir.

Dosyan tarayıcında işlenir, sunucuya gönderilmez. Ağ üzerinden yalnız önizleme haritasının OpenStreetMap ve Esri karoları indirilir.

İlgili Araçlar

Shapefile nedir, neden hâlâ isteniyor

Shapefile, Esri'nin 1990'ların başında yayımladığı ve teknik açıklamasını herkese açık tuttuğu vektör veri biçimidir. Tek bir dosya değil, aynı adı taşıyan birkaç dosyadan oluşan bir settir: geometriler .shp, dizin .shx, öznitelik tablosu .dbf, koordinat sistemi .prj ve karakter kodlaması .cpg dosyasında durur. Veri teslim şartnamelerinde ve farklı CBS yazılımları arasında veri alışverişinde en sık istenen biçimlerden biri olmayı sürdürüyor. Bu araç GeoJSON, KML, KMZ, GPX ve koordinat sütunlu CSV ya da Excel dosyalarını bu sete dönüştürür ve tek ZIP dosyası olarak verir.

Nasıl kullanılır

  1. Dosyayı seç ya da sürükle. CSV ve Excel dosyalarında enlem ve boylam sütunlarını kontrol et.
  2. Çıktı koordinat sistemini seç. Metre birimiyle çalışmak için UTM ya da TUREF 3° TM dilimini kullan; araç verinin konumuna göre uygun dilimi önerir.
  3. Karakter kodlamasını belirle. UTF-8 önerilir; Türkçe karakterleri okuyamayan eski bir yazılım için Windows-1254 seç.
  4. Alan eşleme tablosunda alanları dahil et ya da çıkar, gerekirse kısa adları düzenle.
  5. Shapefile Oluştur düğmesine bas. ZIP içinde her geometri tipi için ayrı bir katman ve eşleme CSV dosyası bulunur.

Katmanlar ve geometri tipleri

Bir shapefile yalnız tek bir geometri tipi taşıyabilir. Bu yüzden noktalar, çizgiler ve alanlar ayrı katmanlara yazılır (dosya_nokta, dosya_cizgi, dosya_alan). MultiLineString ve MultiPolygon gibi çok parçalı geometriler tek kayıt içinde birden çok parça olarak korunur; MultiPoint geometrileri ayrı bir çoklu nokta katmanına gider. GeometryCollection içindeki her parça kendi tipindeki katmana aynı özniteliklerle eklenir.

Koordinatlarda yükseklik (Z) değeri varsa PointZ, PolyLineZ ve PolygonZ tipleri kullanılır. KML dosyalarında yükseklik çoğu zaman 0 yazıldığı için, bütün Z değerleri sıfırsa katmanlar varsayılan olarak iki boyutlu yazılır. Alanlarda dış halka saat yönünde, iç halkalar (delikler) ters yönde düzenlenir; biçimin kuralı budur ve bazı yazılımlar ters sıralı halkaları hatalı okur.

Alan adları ve öznitelik tipleri

DBF biçimi alan adlarını 10 karakterle sınırlar. Araç adları ASCII karakterlere çevirir (ğ yerine g, ş yerine s), boşluk ve özel karakterleri alt çizgiye dönüştürür ve kısaltma sonrası aynı ada düşen alanlara _1, _2 gibi ekler koyar. Kaynak ve yeni adlar eşleme tablosunda görünür ve ZIP içindeki CSV dosyasına yazılır; teslim ettiğin verideki sütunların karşılığı bu dosyadan izlenebilir.

Tipler değerlere bakılarak belirlenir: yalnız sayı içeren alanlar sayı (N), yalnız tarih içerenler tarih (D), doğru/yanlış değerleri mantıksal (L), diğerleri metin (C) olur. "007" gibi baştaki sıfırı anlamlı kodlar metin olarak kalır. DBF tarih tipi saat taşımadığı için saatli tarih değerleri metin olarak yazılır. Metin alanları en çok 254 bayt olabilir; daha uzun değerler kesilir ve tabloda işaretlenir. UTF-8'de Türkçe harfler iki bayt tuttuğu için bu sınır karakter olarak biraz daha erken dolar.

Karakter kodlaması: UTF-8 ya da Windows-1254

UTF-8 seçildiğinde metinler UTF-8 olarak yazılır ve .cpg dosyasına "UTF-8" eklenir; güncel CBS yazılımları bu dosyayı okuyarak Türkçe ve Kiril harfleri doğru gösterir. Windows-1254 seçeneği .cpg dosyasını dikkate almayan eski yazılımlar içindir: metinler Türkçe Windows kod sayfasıyla yazılır, DBF başlığındaki dil sürücüsü baytı bu kod sayfasına ayarlanır ve .cpg dosyasına "1254" yazılır. Bu kod sayfasında karşılığı olmayan karakterler soru işaretine dönüşür; araç bu durumda uyarı verir.

Koordinat sistemleri ve .prj dosyası

Dönüşüm proj4js ile yapılır, .prj dosyası Esri WKT biçiminde yazılır: WGS 84 için GCS_WGS_1984, UTM için WGS_1984_UTM_Zone_35N gibi, TUREF 3° TM için TUREF_TM30 gibi ve Web Mercator için WGS_1984_Web_Mercator_Auxiliary_Sphere tanımı. Bunlar sırasıyla EPSG:4326, 326xx, 5253-5259 ve 3857 kodlarına karşılık gelir. TUREF ile WGS 84 arasında datum kaydırması uygulanmaz; bu fark genel CBS kullanımında ihmal edilir. Web Mercator ekranda gösterim içindir, bu sistemde ölçüm yapılmamalıdır. GeoJSON dosyasında eski tip bir crs üyesi varsa (örneğin EPSG:5254) araç girdi sistemini oradan okur.

Veri ve yöntem

Shapefile ve DBF yazıcısı bu sayfanın kendi kodudur ve Esri'nin shapefile teknik açıklamasına göre hazırlanmıştır. KML ve GPX okuma @tmcw/togeojson 5.8.0 (BSD-2-Clause), KMZ açma ve ZIP üretimi JSZip 3.10.1 (MIT), CSV okuma Papa Parse 5.4.1 (MIT), Excel okuma SheetJS 0.18.5 (Apache-2.0), koordinat dönüşümü proj4js 2.9.0 (MIT) ile yapılır. Harita altlıkları OpenStreetMap katkıcılarına ve Esri'ye aittir. Kullanılan açık kaynak kütüphaneler ve lisansları: Veri Kaynakları.

Sınırlar

Kurumsal çalışmalar için

Çizim ve farklı biçimlerdeki verileri katman ve öznitelik yapısını koruyarak CBS veritabanına taşımanın adımları CAD verisini CBS'ye aktarma rehberinde anlatılır. Çok sayıda dosyanın düzenli olarak dönüştürüldüğü işlerde izlenen yöntem CAD-CBS dönüşüm sayfasındadır.

Sık Sorulan Sorular

Shapefile'daki Türkçe karakterler neden bozuk görünüyor?

Kullandığın yazılım .cpg dosyasını okumuyorsa UTF-8 metinleri başka bir kod sayfasıyla gösterir. Önce .cpg dosyasının .dbf ile aynı adı taşıdığını ve aynı klasörde durduğunu kontrol et. Yazılım eskiyse dosyayı Windows-1254 kodlamasıyla yeniden oluştur.

KML'den shapefile'a dönüştürünce neden birden fazla katman çıkıyor?

Bir shapefile yalnız tek bir geometri tipi taşıyabilir. KML dosyasında nokta, çizgi ve alan bir arada bulunabildiği için her tip ayrı bir katmana yazılır. Katmanların tamamı aynı ZIP dosyasındadır.

Alan adlarım neden kısaldı?

DBF biçimi alan adlarını 10 karakterle sınırlar. Araç adları kısaltır, Türkçe harfleri ASCII karşılıklarına çevirir ve çakışan adları numaralandırır. Kaynak ve yeni adlar eşleme tablosunda gösterilir ve ZIP içindeki CSV dosyasına yazılır.

Hangi koordinat sistemini seçmeliyim?

Veriyi teslim edeceğin kurumun şartnamesinde istenen sistemi seç. Türkiye'de büyük ölçekli harita verisi TUREF (ITRF96) 3° TM dilimlerinde üretilir. Veriyi yalnız web haritasında gösterecek ya da başka bir araçta yeniden dönüştüreceksen WGS 84 yeterlidir.

Dosyalarım bir sunucuya yükleniyor mu?

Hayır. Dosya okuma, koordinat dönüşümü ve shapefile yazımı tarayıcında yapılır. Ağ üzerinden yalnız önizleme haritasının OpenStreetMap ve Esri karoları indirilir; bu istekler dosyanın içeriğini taşımaz.