পোস্টজিআইজে জিওগ্রাফি ডেটা টাইপ থেকে লন ল্যাট মানগুলি পান


16

জিওগ্রাফির ডেটা টাইপ হিসাবে লম্বা ল্যাট ভ্যালু সংরক্ষণ করার পরে, আমি কীভাবে পৃথক লম্বা মানগুলি পুনরুদ্ধার করব?

বৃথা চেষ্টা:

SELECT id, geog, ST_X(geog), ST_Y(geog) FROM locations;

ত্রুটি:

No function matches the given name and argument types. You might need to add explicit type casts.

1
জন্য ভূগোল ডাটাটাইপ ব্যবহার বৈধ ফাংশন, প্রাক্তন। ST_MaxX () এবং ST_MaxY () ।
— পিটার ক্রাউস

উত্তর:


20

ST_X (পয়েন্ট) ফাংশন শুধুমাত্র জ্যামিতি সমর্থন (আপাতত হিসাবে)।

এক কার্যসংক্রান্ত হয় নিক্ষেপ geog ব্যবহার geom করতে ::geometry।

আপনার জিজ্ঞাসাটি এই জাতীয় হওয়া উচিত:

SELECT id, geog, ST_X(geog::geometry), ST_Y(geog::geometry) FROM locations; 

এবং এটা এর geog যেহেতু SRID হবে 4326 ।

এছাড়াও এখানে geog টাইপ জন্য একটি ভাল উৎস।


ধন্যবাদ আপনার সমাধানটি ভাল কাজ করে (pgAdmin3 ব্যবহার করে জিজ্ঞাসাবাদ করার সময়)। তবে যখন আমি পিএইচপি (nginx + + PHP5-FPM) থেকে অনুসন্ধান করছি, আমি ভুল পাবেন: Undefined object: 7 ERROR: type "geometry" does not exist। কোন ধারনা? stackoverflow.com/questions/15780931/...
— Nyxynyx

ভাল, এটি আমার পক্ষে ভাল কাজ করে।
— ফিলিপ

1

নিক্ষেপের দরকার নেই

এই কোয়েরিটি ব্যবহার করার চেষ্টা করুন।

SELECT ST_XMax(geog), ST_YMax(geog), ST_AsEWKT(geog)
FROM locations LIMIT 10;

এটা আমার জন্য কাজ করে.


1
আপনি কোন PostGIS এবং PostgreSQL সংস্করণ ব্যবহার করছেন? 9.5 এবং 2.2 সহ, ক্যোয়ারী চালানো SELECT ST_XMax(ST_GeographyFromText('SRID=4326;POINT(-73.968504 40.779741)'));আমাকে দেয় ERROR: function st_xmax(geography) does not exist।
— r0estir0bbe

0

এই কোয়েরি ব্যবহার করার চেষ্টা করুন।

SELECT X(the_geom), Y(the_geom), ST_AsEWKT(the_geom)
      FROM locations LIMIT 10;

আমি এটি আপনাকে সাহায্য করে আশা করি


1
X()এবং Y()ফাংশন অস্তিত্ব মনে হচ্ছে না। কোথায় আপনি ঐ পেতে পারি?
— জোল্টন

@ জোলটান আমি মনে করি X()এবং Y()পোস্টজিআইএস-এর সম্ভবত পুরানো সংশোধন - সম্ভবত 8.x ?. আপডেট হয়েছে, সেই ক্যোয়ারীটি ব্যবহার করবে ST_X()এবং ST_Y()তার পরিবর্তে।
— elrobis

এমনকি পোস্টজিআইএস ২.২-এর কোনও এস (এক্স ) নেই ( ভূগোল ), পোস্টগিজ.নেট
— পিটার ক্রাউস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.