मैं एक ऐसे कार्य पर काम कर रहा हूं, जिसके लिए मुझे हर 1000 किमी के किनारे पर नमूना बिंदु प्राप्त करने की आवश्यकता है, और अंटार्कटिका के साथ एक समस्या में भाग लिया है। मैं जो कुछ बता सकता हूं, उससे यह लगता है कि यह फ़ंक्शन में ज्यामिति के उपयोग के साथ एक मुद्दा है, जब मुझे लगता है कि इस ऑपरेशन के लिए भूगोल का उपयोग किया जाना चाहिए।
इसी समान प्रश्न से फ़ंक्शन का उपयोग करते हुए , मैं एक परिणाम का उत्पादन करने में सक्षम हूं जो इस तरह दिखता है :।
जैसा कि आप देख सकते हैं, ST_AddMeasure()
और ST_LocateAlong()
ज्यामिति को गोलाकार रूप से व्यवहार नहीं करते हैं, जिसके परिणामस्वरूप कई बिंदु हैं जो दक्षिण ध्रुव पर बैठते हैं। तिथि रेखा (बाईं ओर) के साथ क्लिप पर एक बिंदु भी जोड़ा गया था। इन दोनों कार्यों के प्रलेखन के अनुसार, केवल ज्यामिति का उपयोग किया जा सकता है।
बहुभुज और अंक उत्पन्न करने के लिए उपयोग किए जाने वाले कोड को यहां पाया जा सकता है , लेकिन यह वह SQL है जिसका उपयोग अंक उत्पन्न करने के लिए किया जाता है:
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;
मैं इस समुद्र तट के साथ प्रत्येक 1000 किलोमीटर पर अंक कैसे उत्पन्न कर सकता हूं?