Kıyı şeridinde her 1000 km'de bir örnek puan almamı gerektiren bir görev üzerinde çalışıyorum ve Antarktika ile ilgili bir sorunla karşılaştım. Anlatabildiğim kadarıyla, bu operasyon için coğrafyanın gerçekten kullanılması gerektiğini düşündüğümde, fonksiyonlarda geometri kullanımı ile ilgili bir sorun gibi görünüyor .
Dan işlevini kullanarak bu çok benzer bir soru , ben bakışlar böyle bir sonuç üretememesi duyuyorum: .
Gördüğünüz olarak ST_AddMeasure()
ve ST_LocateAlong()
Güney Kutbu üzerinde oturmak pek çok noktada hangi sonuçları, küresel geometriyi tedavi etmek görünmüyor. Tarih çizgisi boyunca (sol taraf) klibe bir nokta bile eklendi. Bu iki işlevin belgelerine göre, sadece geometri kullanılabilir.
Çokgeni ve noktaları oluşturmak için kullanılan kod burada bulunabilir , ancak bu noktaları oluşturmak için kullanılan SQL'dir:
CREATE TABLE atest AS WITH line AS
(SELECT
id,
ST_ExteriorRing((ST_Dump(geom)).geom) AS geom
FROM line_sample_test),
linemeasure AS
(SELECT
ST_AddMeasure(line.geom, 0, (ST_Length(line.geom))::int) AS linem,
generate_series(0, (ST_Length(line.geom))::int, 10) AS i
FROM line),
geometries AS (
SELECT
i,
ST_LocateAlong(linem, i) AS geom
FROM linemeasure)
SELECT
* from geometries;
Bu sahil şeridindeki her 1000 Km'de nasıl puan oluşturabilirim?