POSTGIS

POSTGIS

15 Mart 2020 Genel GIS 0

PgAdmin4 ile sorgulamaları yapacağım. Elimde düzensiz çizilmiş, poligonlara dönüştürülmemiş parsel bilgisi mevcut. NetCAD ortamından geliyor. Çizgileri birleştirerek poligon tipinde verilere dönüştürmem gerekiyor. Parsel numaraları da ayrı bir katman içinde. Numaraları tablo içine almalıyım.

1 numaralı id ye sahip olan şeklin sorgularını yapacağım
Parselin verileri:

select * from parsel_cizgi where id = 1

Çizimlerinin WKT formatında çıktısı

select st_astext(geom) from parsel_cizgi where id = 1

Geometri tipini öğrenmemiz gerekiyor

select st_geometrytype(geom) from parsel_cizgi where id = 1

Tip olarak ST_MultiLineString kaydedildiği görülüyor. Bu multilinestring çizimleri içinde birden çok çizim barındıran biri varmı:

select st_numgeometries(geom) from parsel_cizgi where id = 1

Tek linestring verisi barındıran bir multilinestring serisi gözüküyor. Bunları tek linstring haline getirelim

select st_linemerge(geom) from parsel_cizgi where id = 1

Veriyi poligona çevirip multi poligon tipine çevirelim

select st_multi(ST_MakePolygon(st_linemerge(geom))) from parsel_cizgi where id = 1

Farklı bir tabloya verileri kaydet

insert into parsel_birlesim select id, st_multi(ST_MakePolygon(st_linemerge(geom))) from parsel_cizgi
where st_numpoints(st_linemerge(geom))>3 and st_isclosed(st_linemerge(geom))

Oluşan poligonlar içerisinde tam olarak bölümlenememiş kısımlar mevcut. bu kısmlar normal line tipi çizgilerle bölünmüş. Görsel olarak bölümlenmiş bu kısımları tam olarak ayırmak gerekmekte. ST_Split komutu ile bölümleme yapılacak.

 

Bir cevap yazın

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