CBS’de Programlama
Yrd. Doç. Dr. Özgün AKÇAY
PostgreSQL PostGIS
• PostgreSQL 9.4 ve PostGIS 2.1 sürümleriyle
örnek veri tabanı oluşturalım. Diğer
sürümleri kullanıyorsanız, yardımcı
kitaplara bakarak bu uygulamadaki
farklılıkları bulmanız gerekebilir.
• İlk önce Windows arama satırında cmd
komutu yazılarak command window açılır.
PostgreSQL PostGIS
• Dosya yolu olarak PostgreSQL’in exe dosyalarının bulunduğu «bin»
klasörü konumuna gelinir. Bunun için cd komutu kullanılmalıdır:
• C:\Program Files\PostgreSQL\9.4\bin
• Bu konumda iken PostgreSQL’in veri tabanı yaratma fonksiyonu
«createdb» komutu kullanarak bir veri tabanı yaratılır. Örneğin
mekansalvt isimli bir veri tabanı oluşturalım:
• createdb mekansalvt
• Ürettiğimiz bu veri tabanı şu anda herhangi bir mekânsal özellik
içermemektedir.
PostgreSQL PostGIS
• Ürettiğimiz veri tabanına geometrik, coğrafi vb. mekânsal özellikler
eklemek için CREATE EXTENSION postgis komutu aşağıdaki gibi
uygulanmalıdır.
CBS nesneleri
• OpenGIS konsorsiyumu (OGC) ve ISO standartları iki, üç ve dört
boyutlu nokta, çizgi, poligon, eğri vb. nesneleri tanımlamıştır. PostGIS
bu standartlara uygun olarak CBS nesnelerini belirler. Bu standartlara
uygun olarak Well-known text (WKT) gösteriminde iki boyutlu nesne
örnekleri aşağıdaki gibi olabilmektedir:
3 Boyutlu CBS nesneleri
?
• Üç boyutlu gösterimler
Extented WKT (EWKT) için ise
aşağıdaki gibi örnekler
verilebilir:
SRID
• Spatial Referencing System Identifier mekânsal verinin koordinat
sistemini belirleyen bir standarttır. Sayısal değer olarak bir referansa
karşılık gelir. Örneğin:
• UTM, Zone 17N, NAD27 — SRID 2029
• Farklı SRID değere sahip mekânsal veriler arası işlem yapılamaz.
SQL kabuğu
• Mekansal veri işlemleri (tablo
oluşturma, sorgu yapma vb.) psql
kabuğuna girmemiz gerekiyor. Bu kez
Windows arama fonksiyonunda psql
komutu yazılmalıdır. Açılan kabukta
öncelikle server seçimi yapılır. Bizim
çalışmamız yalnızca kendi
bilgisayarımızda olduğundan default
seçenek olan localhost enter ile
seçilmelidir. Daha sonra hangi veri
tabanında çalışacağımız
belirtilmelidir. mekansalvt yazılır.
Mekansal Tablo
• Daha sonra çalışılacak (dinlenecek) port seçilmelidir. Bu da default
port 5432 dir. Kullanıcı adı ve şifre girilerek işlem ortamına geçilir.
Mekansal Tablo (tek komutta)
• WGS84 referans sisteminde 2 boyutlu çizgisel (linestring) tipinde bir
yol tablosu oluşturalım.
Tabloda Değişiklik
• Az önce oluşturduğumuz yol tablomuza 3 boyutlu çizgi sütunu
ekleyelim:
Tablo Oluşturmak (İki komutta)
• Birinci adımda mekânsal olmayan bir postgreSQL tablosu oluşturulur:
• CREATE TABLE ROADS ( ID int4, ROAD_NAME varchar(25) )
• İkinci adımda mekânsal özellikli sütun eklenir:
• SELECT AddGeometryColumn('public', 'roads', 'geom', 423, 'LINESTRING', 2)
• veya
• SELECT AddGeometryColumn( 'roads', 'geom', 423, 'LINESTRING', 2)
Veri girişi
• INSERT INTO kelimeleriyle veri girişi yapılır.
• INSERT INTO roads (id, road_name, geom) VALUES (1, 'Jeff Rd',
ST_GeomFromText('LINESTRING(191232 243118,191108 243242)‘, 4326))
Veri sorgu
• SELECT kelimesi ile veri ekrana getirilebilir. Görülmesini istediğimiz
sütunlar belirtilir.
ÖDEV
•
•
•
•
PostgreSQL ve PostGIS kurulumu yapınız.
Bir veri tabanı oluşturunuz.
Bir mekânsal özellikli tablo oluşturunuz.
Örnek veri girişi yapınız.
Download

CBS`de Programlama