পোস্টজিআইজে চেনাশোনা তৈরি করছেন?


22

আমি পোস্টজিআইএস 1.5.2 ব্যবহার করছি, এসআরআইডি: 900913 এ জ্যামিতি সহ। আমার কেন্দ্র হিসাবে পয়েন্টের তালিকা ব্যবহার করে একটি বৃত্ত তৈরি করতে হবে, যার ব্যাসার্ধ 600০০ কিলোমিটার। আমি এই ক্যোয়ারীটি ব্যবহার করছি:

INSERT INTO circles (geom) (
   SELECT ST_Buffer(point, 600000, 'quad_segs=8') 
   FROM points
);

তবে তৈরি করা চেনাশোনাগুলিতে ব্যাসার্ধের 600 কিলোমিটার নেই (ব্যাসার্ধটি এই দৈর্ঘ্যের কাছাকাছি, তবে ঠিক নয়)।

পোস্টজিআইএসে চেনাশোনা তৈরি করার অন্যান্য পদ্ধতি আছে কি?

দ্রষ্টব্য: প্রতিনিধিত্ব করা তথ্য স্পেনের। সঠিক প্রজেকশনটি 4326, তবে ক্লায়েন্ট গুগল রাস্টারগুলি ব্যবহার করে, তাই আমি পুনরায় প্রত্যাশা এড়াতে এবং কর্মক্ষমতা বাড়ানোর জন্য 900913 এ ডেটা সংরক্ষণ করছি।


1
তারা 600 কিলোমিটার নয় তা খুঁজে বের করার জন্য আপনি কীভাবে রেডিয়াই পরিমাপ করলেন?
underdark

1
@unddark আমি জানি যে দুটি শহর এবং এই শহরটির কেন্দ্র হিসাবে প্রথমটি ব্যবহার করে উত্পন্ন বৃত্তটি অন্য শহরে প্রসারিত হয় না। আমি gmap-pedometer.com
অ্যাঞ্জেলসারভেরা

3
এই শব্দগুলির সাথে সম্পর্কিত gis.stackexchange.com/questions/10148/…
আন্ডার ডার্ক

@unddark gmap-pedometer.com- এর SELECT ST_Distance( (select point from points where id = 7), (select point from points where id = 42));প্রায় 100 কিলোমিটারের বেশি পার্থক্য ব্যবহার করে রিটার্ন ব্যবহার করে , তবে আমি যদি এই দৈর্ঘ্যটিকে সঠিক হিসাবে মনে করি তবে বৃত্তের ব্যাসার্ধটি নিখুঁত। তবে লোকেরা প্রথম দূরত্বটি ব্যাসার্ধ হিসাবে ব্যবহার করে, কোনও দূরত্ব st_distance দ্বারা ফিরে আসে না। প্রথম দূরত্বকে কি দ্বিতীয় স্থানে রূপান্তর করা সম্ভব?
অ্যাঞ্জেলসারভেরা

উত্তর:


15

এটা চেষ্টা কর:

 SELECT ST_Transform(geometry( 
            ST_Buffer(geography( 
                ST_Transform( point, 4326 )), 
                600000)), 
            900913) FROM points`

ভূগোলের মধ্যে এটি উল্টায় তারপরে ইনবিল্ট এসআরআইডি নির্বাচনটি ব্যবহার করে (হাস্যকরভাবে) জ্যামিতিতে ফিরে যেতে পারেন যেখানে একটি ভাল প্ল্যানার বাফার চালিত হয় এবং তারপরে ফিরে যায়। মারকেটরে আপনার পদ্ধতির সমস্যাটি হ'ল মার্কেটর দূরত্ব সংরক্ষণ করে না। আরও উপযুক্ত স্থানীয় অভিক্ষেপ ব্যবহার করা আরও ভাল ফলাফল দেয় এবং উপরের পদ্ধতিতে এটি ঘটে।


4

আরও সঠিক বৃত্ত পেতে আপনি কোয়াড_সেগ মান বাড়িয়ে দিতে পারেন। একটি বাস্তব বৃত্ত পেতে আপনাকে একটি বাঁকা জ্যামিতি প্রকারের সাথে কাজ করতে হবে, তবে কোন সফ্টওয়্যার এটি প্রদর্শন করতে পারে তা আমি জানি না।

90013 এর এসিডের যথার্থতাটিও খুব খারাপ কারণ এটি পুরো বিশ্ব জুড়ে রয়েছে jection

স্থানীয় প্রক্ষেপণের সাথে আপনি আরও সঠিক ফলাফল পাবেন।


@ নিক্লাস-অ্যাভেন কি 600km দূরত্বের 100km পার্থক্য সম্ভব কারণ আমি 900913 প্রজেকশন ব্যবহার করছি এবং 4326 নয়?
অ্যাঞ্জেলসারভেরা

1
হ্যা এটা সম্ভব. যখন আমি সেই অসম্পূর্ণতাটি বিশ্বাস করতে পারি না তখন পলস তার মন্তব্যটি পরীক্ষা করে দেখুন gis.stackexchange.com/questions/3264/… । বিষয়টি হ'ল 4326 টি অনুমান করা হয়নি।
নিক্লাস আভেন

3

এটি নির্ভর করে যেখানে আপনার চেনাশোনাগুলি তৈরি হচ্ছে। তারা কি নিরক্ষীয় অঞ্চলের কাছাকাছি বা খুঁটির কাছাকাছি?

এই মানচিত্রটি একবার দেখুন । আপনার কি মনে হয় অ্যান্টার্টিকা বা গ্রিনল্যান্ড আসলেই এত বড়? আপনি যে প্রোজেকশনটি ব্যবহার করছেন, তাই না?

আমি আপনাকে প্রস্তাবগুলির উপর এই ইউএসজিএস ডকুমেন্টটি দ্রুত পড়ার পরামর্শ দিচ্ছি , বিশেষত নীচের টেবিলটি যা আপনাকে কোন প্রজেকশনগুলির জন্য ভাল তা সম্পর্কে একটি দ্রুত ধারণা দেয়।

এবং সর্বোপরি, আমি মনে করি অবশেষে আপনার প্রশ্নের উত্তর দেওয়া উচিত :)

নিক্লাস যা বলেছিল তা ভাল পরামর্শ ছিল। আপনার স্থানীয় অঞ্চলের জন্য কোনও বিশেষ অভিক্ষেপ আছে যা আরও ভাল কাজ করবে?

অন্যথায় আপনি নতুন পোস্টজিআইএস ভূগোলের ধরণটি দেখতে চাইতে পারেন । তবুও, সবচেয়ে উপযুক্ত উত্তরটি আপনার ডেটা কোথায় অবস্থিত তার উপর নির্ভর করে।

আপডেট: এখন থেকে আমরা জানি যে আপনার ডেটা স্পেনে রয়েছে, আপনি কি এটি ইউটিএম জোন ৩১ এন এর মতো স্থানীয় প্রক্ষেপণে এটি সংরক্ষণ করে তা ব্যবহার করে আপনার গুগল ওয়েব মার্কেটারে আবার প্রজেক্ট করার দিকে নজর রেখেছিলেন ?


1
দুর্দান্ত অঞ্চলগুলি জুড়ে মানচিত্রের জন্য ভূগোলের ধরণের ব্যবহারের জন্য +1। এখানে সমস্যাটি হ'ল পোস্টগিসে ভূগোলের ধরণের জন্য কোনও নেটিভ বাফার ফাংশন নেই। তবে "বেস্ট স্ক্রিড" -এ একটি ইনবিল্ট castালাই রয়েছে, এটি বাফার তৈরি করে এবং তারপরে 4326-এ ফিরে যায় So সুতরাং আপনার ডেটা জানা এবং ম্যানুয়ালি একটি সিড নির্বাচন করা আরও ভাল নিয়ন্ত্রণ দেয়।
নিক্লাস আভেন

নিক্লাস, আপনি কাস্টিং সম্পর্কে সঠিক এবং আমি স্থানীয় প্রজেকশন সম্পর্কে (যেমন আপনার ডেটা জানার) 100% এর সাথে একমত হই। তবুও, যদি উত্তরটি হয় যে তিনি কেবল "ওয়ার্ল্ড-ওয়াইড" ডেটা রাখতে চান, আইএমএইচও, ভূগোল টাইপের অভ্যন্তরে ingালাইয়ের যুক্তি অন্য কোনটির চেয়ে নির্দিষ্ট দূরত্বের অপারেশনের জন্য এসআর কী উপযুক্ত তা নির্ধারণে আরও ভাল কাজ করবে জটিল কাস্টম যুক্তি। ভূগোলের ধরণ সম্পর্কে আরও একটি ভাল বিষয় হ'ল যদিও বর্তমানে প্রচুর অপারেশনগুলি কার্তেসিয়ান গণিতে ছাঁটাই করা হয়েছে, তবে গোলক গণিত ব্যবহারের জন্য অপারেশনগুলি আপডেট হতে চলেছে।
রাগী ইয়াসের বুড়হুম

2

আপনি নতুন নতুন এসকিউএল / এমএম পার্ট 3 জ্যামিতির ধরণের সিরকুলারস্টিং এবং / অথবা ক্র্যাভিপলিজোন ব্যবহার করতে পারেন ।

যাইহোক, সতর্কতা অবলম্বন করুন যে এই ধরণের জন্য সমর্থন অভ্যন্তরীণ ফাংশন এবং বাহ্যিক প্রোগ্রাম উভয়ই সীমাবদ্ধ। এটিকে ভিজ্যুয়ালাইজ করতে সহায়তা করার জন্য আপনি এসT_CorveToLine ব্যবহার করতে পারেন ।

উপরন্তু, এটা বন্ধ-নির্বাণ (PostGIS 2.0 SVN হিসাবে) একটি বিট যে SELECT ST_Area('CURVEPOLYGON(CIRCULARSTRING(2 1, 1 2, 0 1, 1 0, 2 1))'::geometry)শুধু একটা মোটামুটি পড়তা হয় π । (তুলনা করুন 3.14033115695475 থেকে 3.14159265358979 থেকে pi())।


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