Spatial Reference System

26 May

Spatial Reference System

Spatial Reference System (SRS) veya Coordinate Reference System(CRS) coğrafi nesnelerin konumlarını bulmak için kullanılan koordinat tabanlı yerel, bölgesel veya küresel bir sistemdir. Bir SRS farklı mekansal referans sistemeler arasında dönüşümlerin yanı sıra, belli bir harita projeksiyonu tanımlar. Bazı koordinat sistemleri:

  • Universal Transverse Mercator koordinat sistemi
  • Birtish national grid reference system
  • Hellenic Geodetic Reference system 1987
  • Lambert conformal conic projection
  • United States National Grid
  • Jordan Transverse Mercator
  • International mapcode system
  • Irish grid reference system

Mekansal referans sistemleri SRID olarak ifade edilen benzersiz tamsayı kimlik numaraları ile ifade edilirler. European Petroleum Survey Group(EPSG) tarafından tanımlanmış olan SRID’ler de vardır ve bunlar EPSG kodu ile ifade edilirler. Örneğin “EPSG:4326” WGS84 projeksiyonu için EPSG kodudur. “EPSG:3857” ise WGS84 WebMercator için EPSG kodudur. Bu iki projeksiyon arasındaki fark “EPSG:4326” sisteminde dünya bir küre olarak ele alınırken “EPSG:3857” sisteminde dünya bir elips olarak düşünür. “EPSG:4326” enlem/boylam(lon/lat) koordinat sistemini kullanırken “EPSG:3857” x/y kartezyen koordinat sistemini kullanır. Bu sistemler sayesinde de yuvarlak yapıdaki dünya düz bir zemin üzerinde temsil edilebilmektedir.

SRS için tanımlanan bilgiler veritabanlarında OCG tarafından tanımlanan spatial_ref_sys metadata tablosunda tutulur. Bu tabloda SRID, AUTH_NAME, AUTH_SRID, SRTEXT gibi değerler bulunur. Konumsal veritabanı içinde birden fazla konumsal referansa sahip konumsal nesne tablosu veya raster veri bulunabilir.

Mekansal referans sistemleri (SRS) Open Geospatial Consortium (CRS) tarafından kolay bir şekilde erişim sağlamak amacıyla belli standartlarda herkesin anlayabileceği bir metin standardında tanımlanırlar. Bu standart Well Known Text(WKT) olarak isimlendirilir.

Well Known Text(WKT)

WKT bir harita üzerinde vektör geometri nesnesini temsil etmek için ve mekansal referans sistemleri arasında dönüşümler yapabilmek için geliştirlmiş bir metinsel işaretleme dilidir. WKT’nin binary karşılığı Well Known Binary (WKB)’dir. WKB ile WKT ile tanımlanan bilgilerin transferi ve veri tabanlarında saklanması için kullanılır. Bu formatlar OGC tarafından ISO/IEC 13249-3:2011 standardı olarak tanımlanmıştır.

WKT ile temsil edilen 18 adet geometri türü vardır. Bunlar:

  • Geometry
  • Point, Multipoint
  • LineString, MultiLineString
  • Polygon, MultiPoygon, Triangle
  • CircularString
  • Curve, MultiCurve, CompundCurve
  • CurvePolygon
  • Surface, MultiSurface, PolyhedralSurface
  • TIN, TINZ
  • GeometryCollection

Geometri koordinatları 2D (x,y), 3D (x,y,z), 4D (x,y,z,m) şeklinde temsil edilir.

Örnek WKT geometri gösterimleri:

  • POINT(25 18)
  • LINESTRING(10 15, 20 25, 50 55)
  • POLYGON((20 25, 50 55, 80 95, 20 25))
  • POLYGON((20 25, 50 55, 80 95, 20 25), (10 15, 18 22, 17 23, 10 15))
  • MULTIPOINT((11 12), (24 60), (40 40), (75 80))
  • MULTIPOINT(11 12, 24 60, 40 40, 75 80)
  • MULTILINESTRIN((15 15, 23 80, 10 40), (16 16, 33 10, 25 50, 38 09))

Well Known Binary(WKB)

Geometri nesnelerini taşınabilir ve veritabanlarında depolanabilir hale getirmek amacıyla bitişik byte dizisi şeklinde temsil eden ve OGC tarafından standartlaştırılan bir gösterim şeklidir. İki boyutlu(2D) geometrileri temsil eden bir kodlama şeklidir. WKB gösterimleri genellikle onaltılık sayı sistemindeki dizelerle yapılmaktadır.

SQL veritabanında WKB şeklinde depolanan geometrilere ODBC Client gibi veri sağlayıcılar aracılığı ile erişilebilmektedir. Konumsal veri üzerinde geometrik işlemleri gerçekleştirebilen fonksiyonlar SQL, Java veya C-API tarafından sağlanmaktadır.

Bir geometri için yapılan WKB gösterimi yapılırken, öncelikle geometri nesnesinin serileştirilmesiyle elede edilen sayı kümesinden alınan  işaretsiz tamsayı (Unsigned Integer) ve ondalık(Double) sayılar elde edilir. Daha sonra elde edilen her sayı, standart ikili(binary) sayı sistemine dönüştürülür.

Binary ifadelerin bilgisayar sisteminde serileştirilmesi sırasında işaret bitleri, en önemli ilk byte veya en az önemli ilk byte gibi bazı standartlar belirlenmiştir. Serileştirme işlemi, network ortamında bilgisayarlar arasında veri transferini gerçekleştirebilmek amacıyla gerçekleştirilir. Serileştirme için kullanılan iki tür kodlama vardır. Bunlar XDR ve NDR dir.

XDR (big-endian)

  • İşaretsiz tamsayının XDR gösterimin en önemli byte önce yazılır.

xdr1

  • Ondalik(Double) sayıların XDR gösteriminde işaret byte önce yazılır.

xdr2

NDR (little-endian)

  • İşaretsiz tamsayının NDR gösterimin en önemsiz byte önce yazılır.
  • Ondalik(Double) sayıların NDR gösteriminde işaret byte sona yazılır.

Geometri Nesnelerinin WKB Gösterimi

Geometri gösteriminde ilk byte veri için byte sırasını gösterir.

  • 00: Düşük son haneli (big endian)
  • 01: Büyük son haneli (little endian)

İkinci byte geometri türünü temsil eden bir tamsayıdır.

Type

2D

GEOMETRY

0000

POINT

0001

LINESTRING

0002

POLYGON

0003

MULTYPOINT

0004

MULTULINESTRING

0005

MULTIPOLYGON

0006

GEOMETRYCOLLECTION 0007
CIRCULARSTRING 0008
COMPUNDCURVE 0009
CURVEPOLYGON 0010
MULTICURVE 0011
MULTISURFACE 0012
CURVE 0013
SURFACE 0014
POLYHEDRALSURFACE 0015
TIN 0016
TRIANGLE 0017

 

Her geometrik veri türü benzersiz bir veri yapısına sahiptir. Koordinatlar double tipinde temsil edilir.

Örneğin: POINT(2.0, 4.0) geometrisi 000000000140000000000000004010000000000000 şeklinde 21 byte ile temsil edilir. Burada:

  • 1 byte integer 00 veya 0: Düşük son haneli
  • 4 byte integer 00000001 veya 1: POINT 2D
  • 8 byte float 4000000000000000 veya 2.0: X koordinatı
  • 8 byte float 4010000000000000 veya 4.0: y koordinatı

Kaynaklar:

6 Replies to “Spatial Reference System

  1. Bu konuda rastladıgim ender türkçe yazılardan biri olmuş. Wkt ve wkb kavramları iyi ve anlaşılan bir şekilde. Teşekkürler

  2. Hocam geometrik verileri her veritabanında depolayabilirmiyiz. Sql veritabanı demişken sormak istedim. Bu aralar gis dokümanlarını inceliyorum merak sardim.

    • Konumsal yada mekansal diye tabir edilen geometrik verileri depolayabilen veritabanlarını; Oracle, PostgreSQL, Microsoft MSSQL, MySQL şeklinde sıralayabiliriz. Bunlar en popüler olanları. Oracle ve MsSQL ücretli, diğerleri ücretsizdir.

      • Hocam hangisini tercih etmeliyiz malum öğrenci olunca bedava olanlar tercih ediliyor ancak doküman ve kaynak bulmak önemli.

        • Ben size PostgreSQL tercih etmenizi öneririm. Bana hiç sorun yaşatmadı. Performans ve dökümantasyonu da gayet iyidir. Postgresql veritabanının referansları çok sağlam firmalardır. Yurt dışında çok tercih edilen bir veritabanıdır ve startup’lar çok tercih eder, ülkemizde yaygın olarak kullanılmaz.

  3. Özellikle EPSG kavramını 4326 ve 3857 ayrımı açısından açıklamanız iyi olmuş. Çok karıştırdığım kavramlardı bunlar. 4326 enlem boylam ile çalışır, örneğin (29.58, 45,71) gibi koordinatla, 3857 ise xy ikilisiyle çalışır, örneğin (358545.77458, 4522563.7741) gibi.

Comments are closed.