cbs`de programlama dersi notları

advertisement
CBS’DE PROGRAMLAMA DERSİ NOTLARI
OPEN STREET MAP VERİLERİNİN
POSTGRESQL/POSTGIS VERİTABANINA AKTARILMASI
GEOSERVER’DA YAYINLANMASI
Yrd. Doç. Dr. Özgün AKÇAY
ÇOMÜ GEOMATİK MÜHENDİSLİĞİ BÖLÜMÜ
24.12.2015
İçindekiler
1-Veritabanı Oluşturma..................................................................................................................................3
1.1-Komut İstemi(Yönetici) İle;...................................................................................................................3
1.2-PgAdmin III Arayüzü İle;.......................................................................................................................5
2-Extension (postgis) Ekleme........................................................................................................................6
2.1-Komut İstemi(Yönetici) İle;...................................................................................................................6
2.2-PgAdmin III Arayüzü İle;.......................................................................................................................7
3-Open Street Map'ten Shape file (.shp) İndirme..........................................................................................8
4-Shape File'ı Postgis'e Aktarma....................................................................................................................9
4.1-Komut İstemi(Yönetici) İle;....................................................................................................................9
4.2-PgAdmin III Arayüzü İle;......................................................................................................................10
4.3-Shape File'dan Postgis'e Aktarılan Verilerin SHELL Kabuğu Üzerinden Sorgulanması.......................11
4.4-Shape File'dan Postgis'e Aktarılan Verilerin PgAdmin III Üzerinden Sorgulanması............................12
5-Geoserver İle PostGİS Tablosu Yayınlama...............................................................................................13
5.1-Veri Kaynağı Oluşturma(Create a Data Store)......................................................................................14
5.2-Tabaka Oluşturma (Create a Layer).......................................................................................................15
5.3-Yayınlanan Verinin Görüntülenmesi......................................................................................................17
2
PostgreSQL&Postgis
1-Veritabanı Oluşturma
1.1-Komut İstemi(Yönetici) İle;
•
Komut İstemi (CMD) Yönetici olarak çalıştırılır.
•
PostreSQL'in kayıtlı olduğu , “C:\Program Files\PostgreSQL\9.4\bin” klasörüne 'cd' komutu ile
ulaşılır.
3
•
(...\bin klasörünün olduğu adresi “....” içinde yazmamızın sebebi, adres satırının boşluk karekteri
(...Program Files...) barındırıyor olmasıdır.)
CDM üzerinden 'createdb -U postgres guvendb' komutu ile veritabanı oluşturulur.
•
•
'createdb -U postgres guvendb' komut içinde '-U postgres' kodu kullanılarak veritabanı
oluştururken yaşanan “password” ile ilgili problemleri çözülmüş olur.
'guvendb' isimli veritabanı oluşmuş durumda.
4
1.2-PgAdmin III Arayüzü İle;
•
Databases(sağ tık)>New Database tıklanır.
5
2-Extension (postgis) Ekleme
2.1-Komut İstemi(Yönetici) İle;
•
•
•
Oluşturulan veritabanına mekansal özellik eklemek için PostgreSQL'in eklentisi olan 'Postgis' in
eklenmesi gerekir.Bunun için;
CMD üzerinden 'psql -U postgres -d guvendb -c “CREATE EXTENSION postgis;”'
komutu uygulanır.
Burada; -d, Shape file dosyasındaki verilerle yeni bir veritabanı tablosu oluşturmadan önce
veritabanı tablosunu çıkart komutunu, -c ise, Shape file'dan veri aktarılmaya uygun default modda
bir tablo oluştur komutunu ifade eder.
6
2.2-PgAdmin III Arayüzü İle;
•
guvendb>Extensions(sağ tık)>New Extension
•
Mekansal özellikli veritabanımız oluşmuş oldu.
7
3-Open Street Map'ten Shape file (.shp) İndirme
•
http://www.openstreetmap.org/#map=5/51.500/-0.100 >Dışa Aktar> Büyükşehir Çıktıları
https://mapzen.com/data/metro-extracts sitesine yönlendirir.
•
Alt kısımdaki arama kısımda bir çok büyükşehirin farklı formatlarda verileri mevcuttur.
8
4-Shape File'ı Postgis'e Aktarma
4.1-Komut İstemi(Yönetici) İle;
•
CMD komut satırına,
' shp2pgsql -c -D -s 4326 -i -I E:\bursa_data\roads.shp road > road.sql'
komutu uygulanarak; E:\bursa_data konumundaki shape file dosyasını bir veri tabanına aktarılmak üzere
hazır hale getirir.(4326 WGS 84 kooridinat sistemini gösterir.)
Bu komutun uyulanmasıyla da E:\bursa_data konumundaki shape file dosyaları 'guvendb' isimli
veritabanına aktarılmış oldu.
9
4.2-PgAdmin III Arayüzü İle;
• Aktarımın yapılmak istendiği veritabanı içindeki Schemas>public>Tables tıklanır. Ardından
ana kontrol panelindeki Plugins>PostGİS Shape File and DBF Loader 2.1 tıklanarak açılan pencereden>
View connection details... ile server bağlantısı kurulur.
•
Bağlantı kurulduktan sonra Add File tıklanarak aktarımı yapılmak istenen Shape File dosyaları
gösterilerek import edilir. “Shapefile import completed” ibaresinin görülmesi işlemin başırılı bir
şekilde tamamlandığı anlamına gelir.
10
4.3-Shape File'dan Postgis'e Aktarılan Verilerin SHELL Kabuğu
Üzerinden Sorgulanması
-road Tablosu
11
4.4-Shape File'dan Postgis'e Aktarılan Verilerin PgAdmin III
Üzerinden Sorgulanması
•
Veritabanında görüntülenmek istenen tablonun üstüne sağ tıklanır>view data>view all rows
seçenekleri tıklanarak sorgulama yapılabilir.
• road Tablosu
12
5-Geoserver İle PostGİS Tablosu Yayınlama
•
Geoserver kurulumu yapıldıktan sonra Start Geoserver'a tıklanıp http://localhost:8080/geoserver
üzerinden kullanıcı adı parola girilerek sunucuya bağlanır.
13
5.1-Veri Kaynağı Oluşturma(Create a Data Store)
•
Data>Stores tıklanarak bir sonraki pencereden Add new store tıklanır.
•
PostGIS NG-Postgis Database tıklanırak yeni bir data kaynağı oluşturulur.
•
Basic Store Info kısmından yayınlanacak PostGİS tablosunun adı Data Source Name kısmına
yazılır ve bir alttaki Description kısmınada yayınlanacak verinin açıklaması yapılır.
14
•
PostGIS'ten aktarılacak tablonun bulunduğu veritabının bağlantı parametrelerinin tanımlanması
yapılmalıdır.
•
Sol alttan Save dediğimizde veri kaynağımız oluşmuş olacaktır.
5.2-Tabaka Oluşturma (Create a Layer)
•
Data>Layers>Add a new resource>Add layer from tıklanarak oluşturulacak tabakanın hangi veri
kaynağından alınacağı belirtilir.Oluşturduğumuz “cite:road” kaynağı seçilir. Bu aşamada
karşımıza verinin çekileceği veritabanındaki (guvendb) bütün tabakalar çıkacaktır. Yayınlamak
istediğimiz tabakanın sağındaki Publish tıklanarak düzenlemeler yapılır.
15
•
Oluşturulacak tabakanın bilgileri girilir.
•
Boundin Boxes kısmından tabakadaki verilerin köşe koordinatlarını hesaplamak için önce
Compute from data ardından Compute from Native bounds linkleri tıklanarak boş kutucukların
koordinat değerleriyle doldurulması sağlanmalıdır.
•
Sayfanın üst kısmındaki Publishing tıklanır.
16
•
WMS Settings>Default Style kısmından verinin tipi seçilir. Yayınlamak istediğimiz veriler
Bursa'nın yolları olduğundan veri tipi “line” olarak seçilmeli.
•
Son olarak sayfanın alt tarafından Save tıklanarak işlem bitirilir.
5.3-Yayınlanan Verinin Görüntülenmesi
17
18
Download