GeoJSON Dosyası Nedir? Nasıl Kullanılır?

Mimarlık, kent plancısı ya da kentlerle bir şekilde ilişkili eğitime tabi olan öğrencilerin genelde haberdar olmadığı, ama bana göre kesinlikle haberdar olunması gereken bir dosya formatıdır GeoJSON. Bu yazıda sizlere bu dosya formatı hakkında elimden geldiğince bilgi vermeye çalışacağım.

GeoJSON Nedir?

Giriş kısmında da belirttiğim üzere GeoJSON bir dosya formatıdır, bu dosyalar içerisinde coğrafi ve mekansal bilgileri kayıt ederiz. Bu bilgilerle ilişkilendireceğimiz harici bilgileri iliştirebiliriz.

GeoJSON.org’da yer alan bilgiye göre Ağustos 2016 tarihinde IETF tarafından yayımlanan RFC 7946 standardı 2008’de belirlenen standardın yerini almıştır ve bu standart hala kullanımdadır.

GeoJSON, JavaScript Object Notation (JSON) tabanlı bir jeo-uzamsal veri değişim formatıdır. Çeşitli JSON nesnesi türlerini ve coğrafi özellikler, özellikleri ve uzamsal kapsamları hakkındaki verileri temsil etmek için bir araya getirilme biçimini tanımlar.
GeoJSON bir coğrafi koordinat referans sistemi olan World Geodetic System 1984 ve ondalık derece birimleri kullanır.

Detaylı bilgi: RFC 7946 – The GeoJSON Format (ietf.org)

Örnek bir GeoJSON verisi:

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [29.389540798413414, 40.951090789488354]
  },
  "properties": {
    "name": "Okan Üniversitesi Sanat, Tasarım ve Mimarlık Fakültesi"
  }
}

Bu veride ikinci satırda yer alan "type" anahtarı ki farklı değer alabilmektedir. Bunlar Feature ve FeatureCollection değerleridir. Feature değeri, devamındaki kod parçasında bir nesne ile alakalı bilgiler içerdiğini ifade ederken FeatureCollection ise devamındaki kod parçasında birden fazla nesnenin yer aldığı bir grubun yer aldığını ifade eder.

Bu kod bloğunda bir nesnemiz olduğunu Feature değeriyle anladık, öyleyse sırada bu nesnenin aslında ne olduğunu öğrenmemiz gerek. GeoJSON verilerinde yer alan nesnelerimiz, geometrik şekillerden meydana gelmektedir. Bu şekiller; Point, LineString, Polygon, MultiLineString ve MultiPolygon‘dan ibarettir.

Açıkça söylemek gerekirse ben MultiLineString ve MultiPolygon şekillerinin ne anlama geldiğini bilmiyorum, daha evvel karşılaştığımı hatırlamıyorum bu yazıyı hazırlamak için yaptığım araştırmada öğrendim varlıklarını.


Nesnelerimizin, geometrik şekilleri ve dünya üzerinde nerede yer aldıklarını belirten enlem ve boylam bilgileri kod bloğunun "geometry" anahtarında saklanır.

  "geometry": {
    "type": "Point",
    "coordinates": [29.389540798413414, 40.951090789488354]
  }

Görüldüğü üzere bu kod bloğunda yer alan nesnemizin şeklini “geometry” altında saklanan "type" anahtarının değerinin "Point" olmasıyla öğrenebiliyoruz. Bu nesne bir noktadan ibarettir ve hemen altında yer alan "coordinates" anahtarında da bu noktanın sırasıyla boylam ve enlem verileri saklanmaktadır.

Not: Boylam ve enlem bilgileri önemli birer sayısal değer oldukları için metin veri tipinde olmayıp sayısal biçimde dizi halinde saklanmaları gerekmektedir. Metin halinde saklanacak veriler çift tırnak arasında yer alırken diziler köşeli parantez arasında yer alır ve virgül ile ayrılır.


Nesnemizin geometrik şeklini ve mekansal konumunu kaydettikten sonra artık bu şekil ile alakalı ya da bu şekli tanımlayan özellikleri de "properties" anahtarı altında kaydediyoruz. Bu özelliklerin sanıyorum ki çok ciddi bir standardı yok, Üretilen GeoJSON verisinin kullanılacağı ortama göre değişkenlikler gösterebiliyor, kullandığım araçlar arasında buna şahit oldum.

  "properties": {
    "name": "Okan Üniversitesi Sanat, Tasarım ve Mimarlık Fakültesi"
  }
}

Örnek kod bloğunda görüldüğü üzere “properties” anahtarı altında sadece “name” anahtarı ve bu anahtarla ilişkili değer yer almakta. Buradan öğreniyoruz ki; ismi Okan Üniversitesi Sanat, Tasarım ve Mimarlık Fakültesi olan, 29.389540798413414, 40.951090789488354 boylam ve enlem koordinatlarında yer alan bir noktayı ifade eden bir kod bloğuna sahibiz.

GeoJSON Ne İşimize Yarar?

GeoJSON formatında sakladığımız verileri birçok ortamda görüntüleme imkanı ve farklı dosya formatlarına çevirme imkanı sağlayan dönüştürücüler ile oldukça dolgun ortam ve format desteği ilk dikkat çeken unsurlarıdır.

Ancak asıl önemli kısmı Coğrafi Bilgi Sistemlerinden kullanılabilir olması ve web üzerinde farklı ortamlarda yayınlama imkanını sağlaması sebebiyle bu yazıyı yazıyorum.

GeoJSON verilerini görüntülemek için benim kullandığım öncelikli araç geojson.io isimli web sitesidir. Bu site elimizde var olan bir kod bloğunu görüntülemek ya da yeni bir GeoJSON verisi üretmek için oldukça basit şekilde hizmet sunmakta.

geojson.io ekran alıntısı

Yukarıda incelediğimiz Okan Üniversitesi Sanat, Tasarım ve Mimarlık Fakültesi isimli noktayı görüntülemek için isterseniz geojson.io’ya girip sağ tarafta yer alan kod editörüne yukarıdaki kod bloğunu kopyalayıp yapıştırarak inceleyebilirsiniz, isterseniz de direkt bu bağlantıya tıklayarak inceleyebilirsiniz.

GeoJSON Verileri İle Oluşturulmuş Harita Örnekleri

21. Yüzyılda Gerçekleşen 7.5 ve Üstü Şiddete Sahip Depremlerin İşaretlendiği Harita

Antalya, Konyaaltı’nda Yer Alan Altınkum Mahallesi’nin Yolları Haritası

Altınkum Mahallesi Morfoloji Haritası

Elbette bu verilerin hepsini tek başına oluşturmaya kalkışmak oldukça zorlayıcı, nitekim ben de yukarıdaki haritaları oluşturmak için tek tek uğraşmadım. Ancak bu verileri elde etme yöntemi bu yazının konusu değil, sonraki yazılarda, bu verileri elde etme yöntemlerinden bahsedeceğim.


Yayımlandı

kategorisi

yazarı:

Yorumlar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir