GeoJSON'u GeoPackage'a dönüştürme

Bu dönüştürücü bir veya daha fazla GeoJSON dosyasını QGIS ya da ArcGIS Pro için tek bir GeoPackage'a (.gpkg) çevirir: her dosya, türü belirli alanlara, bir koordinat sistemine ve mekânsal indekse sahip ayrı bir katman olur. Dosyalar tarayıcınızda dönüştürülür, sunucuya gönderilmez. Noktaları, çizgileri ve poligonları karıştıran bir dosya her geometri türü için ayrı bir katmana bölünür, iç içe değerler JSON metni olarak saklanır ve başka bir koordinat sistemindeki GeoJSON, siz başka bir sistem seçmedikçe o sistemi korur.

Bir dosya doğru dönüştürülmedi mi? Tercihen küçük bir örnek dosyayla birlikte [email protected] adresine e-posta gönderin, sorun düzeltilecektir.

Temel bilgiler

GeoJSON → GeoPackage: neden dönüştürmelisiniz

Web haritaları, API'ler, geojson.io ve betikler GeoJSON üretir; ancak bir CBS projesinde bu yavaş, düz metin bir biçimdir: mekânsal indeks yoktur, her sayı metin olarak saklanır ve her katman ayrı bir dosyadır. QGIS'in varsayılan biçimi ve ArcGIS Pro'nun da okuyup düzenlediği bir OGC standardı olan GeoPackage, istediğiniz sayıda katmanı gerçek alan türleri ve bir indeksle tek bir SQLite dosyasında tutar; böylece büyük katmanlar hızla çizilir ve filtrelenir. Bu sayfa, QGIS'in arkasındaki açık kaynaklı kütüphane GDAL ile GeoJSON'unuzdan GeoPackage'ı doğrudan tarayıcınızda yazar. Birkaç GeoJSON dosyasını aynı anda bırakın; dosyaların adlarını taşıyan katmanlar olarak aynı .gpkg'ye girerler. Bu, bütün bir veri kümesini tek dosya olarak teslim etmenin düzenli bir yoludur.

GeoJSON dosyası GeoPackage biçimine nasıl dönüştürülür

  1. Bir veya daha fazla .geojson ya da .json dosyasını kutuya bırakın veya seçmek için tıklayın.
  2. Katmanları haritada kontrol edin. İsterseniz bir çıktı koordinat sistemi seçin.
  3. “GeoPackage biçimine dönüştür” düğmesine tıklayın ve .gpkg dosyasını QGIS ya da ArcGIS Pro'da açın.

Dönüştürme sırasında neler değişir

Karışık noktalar, çizgiler ve poligonlar

Bir GeoJSON FeatureCollection geometri türlerini karıştırabilir, ancak QGIS bir katmanı en iyi tek bir türü olduğunda stillendirir ve düzenler. Bu yüzden karışık türler içeren bir dosya, parks_points ve parks_polygons gibi, aynı alanlara sahip tür başına bir katman olur. Çizgiler ve poligonlar çok parçalı türler (MultiLineString, MultiPolygon) olarak saklanır; böylece tek ve çok parçalı şekiller aynı katmana sığar ve yükseklikler (Z) korunur. Geometri koleksiyonları ve geometrisi olmayan objeler atılmak yerine adı _other ile biten bir katmana konur.

Alan türleri

GDAL her özniteliğin türünü değerlerden okur: tam sayılar tamsayı alanı, ondalıklı sayılar ondalık (real) alan, true/false mantıksal (boolean) alan, 2024-05-01 gibi değerler tarih alanı olur. Sayı ve metni karıştıran bir öznitelik metin alanı olur. API yanıtlarında sık görülen iç içe nesneler ve diziler JSON metni olarak saklanır ve QGIS bunları olduğu gibi gösterir.

Koordinat sistemi

RFC 7946 sonrası GeoJSON her zaman WGS84 üzerinde boylam ve enlemdir ve GeoPackage EPSG:4326 alır. RFC 7946'dan önce yazılmış ve bir “crs” üyesi (örneğin ulusal bir koordinat sistemi) içeren bir dosya o sistemi korur. “crs” içermeyen ve koordinatları açıkça metre olan bir dosya, örneğin projeksiyonlu bir QGIS projesinden alınmış bir dışa aktarım, WGS84 olarak okunmaz: sayfa koordinat sistemini sorar ve uyanları önerir. Katmanları dönüştürme sırasında yeniden projeksiyonlamak için bir çıktı sistemi girin.

Geçersiz geometriler

Elle çizilmiş verilerde sık görülen, kendi kendini kesen poligonlar dönüştürme sırasında GDAL'ın makevalid işleviyle onarılır; böylece QGIS ve veritabanları onları kabul eder. Geçerli şekiller değiştirilmeden yazılır.

Dosya biçimleri hakkında

GeoJSON

GeoJSON, coğrafi nesneler için düz metin bir JSON biçimidir ve 2016'da RFC 7946 olarak standartlaştırıldı. Leaflet, MapLibre ve Mapbox gibi web haritalarının ve birçok API'nin doğal biçimidir.

  • Koordinatlar WGS84 boylam, enlem şeklindedir (bu sırayla).
  • Noktalar, çizgiler ve poligonlar tek bir dosyada karıştırılabilir.
  • Özellikler (properties) herhangi bir JSON değeri olabilir; alan adı uzunluğunda sınır yoktur.

GeoPackage

GeoPackage, SQLite üzerine kurulu, 2014 tarihli açık bir OGC standardıdır. QGIS'te varsayılan biçimdir ve tek bir dosyada çok sayıda katman, herhangi bir koordinat sistemi ve uzun alan adları tutabilir.

  • Tek bir dosya çok sayıda vektör katmanı ve tablonun yanı sıra raster karoları da içerebilir.
  • Shapefile'ların aksine alan adlarında 10 karakter sınırı yoktur.
  • Her katmanın koordinat sistemini dosyanın içinde saklar, bu yüzden ayrı bir .prj dosyası yoktur.
  • Bir shapefile'ın .shp ve .dbf dosyalarının aksine katman başına 2 GB boyut sınırı yoktur.

Sıkça sorulan sorular

Birden fazla GeoJSON dosyasını tek bir GeoPackage'a koyabilir miyim?

Evet. Tüm dosyaları aynı anda seçin veya bırakın. Her dosya, aynı .gpkg içinde dosyanın adını taşıyan kendi katmanı olur.

QGIS için GeoJSON neden GeoPackage'a dönüştürülmeli?

QGIS GeoJSON'u açar, ancak metin dosyasının tamamını okumak zorundadır ve mekânsal indeks yoktur. Bir GeoPackage hızlı açılır, güvenle düzenlenebilir, alan türlerini ve birden fazla katmanı tek dosyada tutar ve QGIS'in kendi varsayılan biçimidir.

ArcGIS Pro bu GeoPackage'ı açabilir mi?

Evet. ArcGIS Pro GeoPackage'ları doğrudan okur ve düzenler; .gpkg dosyasını Catalog bölmesinde ekleyin ve bir katmanı haritaya sürükleyin.

GeoJSON'um bir sunucuya gönderiliyor mu?

Hayır. GDAL tarayıcınızda WebAssembly olarak çalışır ve GeoPackage kendi bilgisayarınızda yazılır.

GeoPackage'ı geri dönüştürebilir miyim?

Evet. GeoPackage görüntüleyici katmanları haritada ve öznitelik tablolarıyla gösterir; GeoPackage'dan shapefile'a dönüştürücü ise her katmanı bir shapefile olarak yazar.