From: | Volkan YAZICI <yazicivo(at)ttnet(dot)net(dot)tr> |
---|---|
To: | oguz d <oguz_1977(at)yahoo(dot)com> |
Cc: | pgsql-tr-genel(at)postgresql(dot)org |
Subject: | Re: Polygon türünün nodl |
Date: | 2006-02-20 19:13:42 |
Message-ID: | 20060220191342.GB1468@alamut |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-tr-genel |
Merhaba,
Size iyi haberlerim var!
On Feb 19 06:12, oguz d wrote:
> PostgreSql de node node cekersem bu sorunu
> halledebilecegimi dusunuyorum ancak, Postgrenin
>
> NodeGetir(Polygon, Node_Sayisi)
>
> gibi bir fonksiyonunu bulamadim.
Böyle bir fonksiyon ne PostgreSQL ne de (bildiğim kadarı ile)
PostGIS'te[1] var. Ama artık sizin olacak.
[1] PostGIS'te yanlış bilmiyorsam tek bir node getirmek için fonksiyon
var.
Ekte gönderdiğim C prosedürünü kullanabilirsiniz. Yapacağınız ise gayet
basit.
$ gcc -g -fpic -c geo_part.c -I`pg_config --pkgincludedir`/server
$ gcc -shared -o geo_part.so geo_part.o
$ psql test
test=# -- Aşağıdaki /home/vy/works/ dizini yerine yukarıdaki derleme
test=# -- işlemini yaptığınız dizini girin.
test=# CREATE FUNCTION geo_part(polygon, int, int) RETURNS polygon AS
test=> '/home/vy/works/geo_part', 'geo_part' LANGUAGE C STRICT;
CREATE FUNCTION
test=# SELECT geo_part('((1,2),(3,4),(5,6))'::polygon, 0, 5);
geo_part
---------------------
((1,2),(3,4),(5,6))
(1 row)
test=# SELECT geo_part('((1,2),(3,4),(5,6))'::polygon, 1, 5);
geo_part
---------------
((3,4),(5,6))
(1 row)
test=# -- Döndürülecek bir değer olmadığında geo_part(..., 0) gibi
test=# -- fonksiyon NULL değeri döndürecek. Buna dikkat!
Bu konuyu en kısa zamanda -hackers listesine taşıyacağım. (Evvela COPY
komutu için yazdığım yamayı düzelteyim. Birini düzeltmeden yenisini
yollamak ayıp olur.)
İyi çalışmalar.
Attachment | Content-Type | Size |
---|---|---|
geo_part.c | text/plain | 1.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | esrefatak | 2006-02-23 17:31:51 | Re: Oracle'dan PostgreSQL'e |
Previous Message | Volkan YAZICI | 2006-02-20 16:43:58 | Re: Sorgu Önceliği / Ç |