পোস্টজিআইএস ব্যবহার করে টেবিলের ল্যাট / লম্বা থেকে জ্যামিতি তৈরি করছেন?


15

ল্যাট এবং লম্বা কলাম সহ 800,000 রেকর্ড সহ আমার একটি টেবিল রয়েছে। ডেটা উত্স জ্যামিতি তৈরি করে নি, তাই আমি কীভাবে এটি করব তা প্রায় ঘুরে দেখছিলাম। আমি জানি যে ST_MakePoint (x, y, SRID) আছে তবে সমস্ত নথি এবং অন্যান্য থ্রেড কীভাবে একক পয়েন্ট তৈরি করবেন তা দেখায় show আমি এই কলামগুলি ব্যবহার করে জ্যামিতির ধরণটি কীভাবে তৈরি করব?


1
আপনি এই পয়েন্ট থেকে লাইন তৈরি মানে? কারণ পয়েন্টগুলি যেমন লাইন এবং বহুভুজ ঠিক তেমন জ্যামিতি ... সুতরাং আপনি যদি এই পয়েন্টগুলি থেকে লাইন তৈরি করতে দেখেন তবে
DPSSpatial

নাঃ। আমি বোঝাতে চাইছি এগুলিকে স্থানিক প্রশ্নের ক্ষেত্রে ব্যবহার করার জন্য জ্যামিতির ধরণগুলিতে রূপান্তর করা like দেখে মনে হচ্ছে আমার প্রশ্নের উত্তর দেওয়া হয়েছে যদিও ধন্যবাদ!
dknuth

উত্তর:


32

পোস্টজিআইএসের নতুন সংস্করণগুলি নিম্নলিখিতটি কিছুটা আরও সাধারণ, সিনট্যাক্সের অনুমতি দেয়:

ALTER TABLE your_table ADD COLUMN geom geometry(Point, 4326);

তারপরে কলামটি জনপ্রিয় করতে ST_SetSrid এবং ST_MakePoint ব্যবহার করুন:

UPDATE your_table SET geom = ST_SetSRID(ST_MakePoint(longitude, latitude), 4326);

ডকুমেন্টেশন এখানে দেখুন:


14

যদি আপনি ইতিমধ্যে জ্যামিতি কলাম যুক্ত না করেন (EPSG: 4326 ধরে এখানে):

SELECT AddGeometryColumn ('your_table','geom',4326,'POINT',2);

তারপরে UPDATE, আপনার x এবং y ক্ষেত্রের নাম দিয়ে যাচ্ছেন:

UPDATE yourtable SET geom = ST_SetSRID(ST_MakePoint(longitude, latitude), 4326);

আপনি যদি কোনও WHEREধারা অন্তর্ভুক্ত না করেন তবে এটি পুরো টেবিলটি আপডেট করবে

ST_SetSrid- তে উল্লেখ: https://postgis.net/docs/ST_SetSRID.html


2
আমার মনে হয় ST_SRID টি ST_SetSRID হওয়া উচিত। ST_SRID ব্যবহার করার সময় আমি একটি ত্রুটি পেয়েছি
বিপিন গুপ্ত
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.