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


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.