ল্যাট / লম্বায় একাধিক স্তরগুলির বাউন্ডিং বক্স কীভাবে গণনা করবেন?


11

আমি সমস্ত ধরণের মানচিত্র পরিষেবাদি, প্রাথমিকভাবে এজিএস 9.x, এজিএস 10, এবং ডাব্লুএমএস 1.x এর পারফরম্যান্স পরীক্ষার জন্য একটি আবেদন লিখছি।

অ্যাপ্লিকেশনটির অংশটিতে পরিষেবার সম্পূর্ণ পরিসরের মধ্যে স্বতন্ত্র অনুরোধগুলির জন্য র্যান্ডম বাউন্ডিং বাক্স তৈরি করা জড়িত। এই অংশটি ভৌগলিক এবং প্রজেক্টেড সমন্বিত সিস্টেমগুলির জন্য সূক্ষ্মভাবে কাজ করছে যখন পরিষেবার পরিপূর্ণ পরিধিটি পরিচিত হয় (যেমন কোনও এজিএস পরিষেবাদির সম্পূর্ণ অভিজ্ঞ সম্পত্তি দ্বারা)।

আমার সমস্যাটি ডাব্লুএমএস-এর সাথে রয়েছে: গেটক্যাপিলিটিস প্রতিক্রিয়ার প্রতিটি স্তর তার সীমানা অঞ্চলটি> = 1 সিআরএসে সংজ্ঞায়িত করতে পারে। অ্যাপ্লিকেশনটির কিছু অংশের জানা দরকার যে কোনও পরিষেবার সিআরএস ভৌগলিক বা প্রস্তাবিত কিনা, তাই ডাব্লুএমএসে অস্পষ্টতা দূর করতে আমি সর্বদা স্তরটির ল্যাটলোনবাউন্ডিংবক্স ব্যবহার করি যা সর্বদা সংজ্ঞায়িত এবং EPSG: 4326 তে থাকে in তারপরে আমাকে একটি ব্যক্তিগত অনুরোধে প্রবেশকারী সমস্ত স্তরগুলির (যা এলোমেলোভাবে তৈরি করা হয়েছে) উপর ভিত্তি করে একটি সম্পূর্ণ পরিষেবা বাউন্ডিং বক্স গণনা করতে হবে। এখানেই এটি জটিল হয়ে ওঠে gets

আমি হারিয়ে যাচ্ছি কারণ প্রতিটি ল্যাট / লম্বা বাউন্ডিং বাক্সের জন্য এলএলএক্স (নীচের বাম দ্রাঘিমাংশ) ইউআরএক্সের (উপরের ডান দ্রাঘিমাংশ) এর চেয়ে বড় বা ছোট সংখ্যা হতে পারে, এটি নির্ভর করে যে মেরিডিয়ানগুলি এটি বিস্তৃত। আমি যখনই বর্গক্ষেত্র বা বৃত্তাকার চিত্রগুলি আঁকতে শুরু করি তখন আমার মনে হয় আমার কোনও পদ্ধতির সন্ধান করা হয়েছে এবং তারপরে এমন একটি কেস পাওয়া যায় যা এটিকে নষ্ট করে দেয় এবং আমার মস্তিষ্ক মেজাজে পরিণত হয়।

এটি কাজ না হওয়া পর্যন্ত আমি এটিকে লক্ষ্য করে চালিয়ে যাচ্ছি, এবং আমি যদি এখানে কোনও সমাধান পোস্ট পাই তবে আমি নিশ্চিত যে একটি গ্রহণযোগ্য এবং সম্পূর্ণ পরীক্ষিত পদ্ধতি থাকতে হবে যা আমার জীবনকে সহজ করে দেবে। আমি এখনই এটি খুঁজে পাচ্ছি না।


ঠিক আছে সুতরাং এই নিবন্ধে: stonybrook.edu/libmap/coordinates/seriesa/no2/a2.htm (গ্লোবাল গটচস বিভাগ) আমি পড়েছি "গ্লোবাল গটচগুলি সমাধান করার জন্য দুর্ভাগ্যক্রমে, কোনও সহজ এবং মার্জিত সমাধান নেই"। আমি সমস্ত লেয়ার এক্সটেন্টগুলিতে স্ক্যান করার কথা ভাবছি এবং যদি ইউআরএক্স <এলএলএক্স কেবল মাত্রাটি -180 +180 নির্ধারণ করে। একই নিবন্ধটি পরামর্শ দেয় যে বেশিরভাগ জিআইএস এই সমন্বয়গুলির সাথে একটি বহুভুজকে দুটি পৃথক বৈশিষ্ট্যে বিভক্ত করবে।
tomfumb

সার্চ ইঞ্জিনগুলির জন্য আরও কিছু কীওয়ার্ড হিসাবে কেবল এই দুর্দান্ত পোস্টটি সন্ধান করতে আমার এখনই সমস্যা হয়েছিল: ন্যূনতম বাউন্ডিং বাক্স, একাধিক বাউন্ডিং বক্সগুলি মার্জ করা, আন্তর্জাতিক তারিখের লাইন, বিচ্ছিন্নতা, ন্যূনতম বৃত্ত বিভাগ
লেটমাইক

উত্তর:


6

উল্লেখ করা নিবন্ধটি চিন্তাশীল। যাইহোক, আমি বিশ্বাস করি নেই একটি "সহজ এবং মার্জিত" সমাধান: ভৌগলিক ডেটাসেট জন্য, সীমান্ত বাক্সে দুই ধরণের হয়। যাঁরা + -180 মেরিডিয়ান বিচক্ষণ করেন না তাদের সংরক্ষণ করা যায় এবং বরাবরের মতো অনুসন্ধান করা যেতে পারে। ঐ যে দুই পা ফাঁক না + + -180 অবস্থানের উপর ভিত্তি করে একটি সংরক্ষণ করা যাবে আধা পরিপূরক ফর্ম: যেমন, স্বাভাবিক হিসাবে অক্ষাংশ পরিসীমা সংরক্ষণ, কিন্তু এর পরিবর্তে দ্রাঘিমাংশ পরিসীমা সংরক্ষণ না (বাক্সের মধ্যে অন্তর্ভুক্ত এবং একটি বিট টগল ইঙ্গিত যা ফর্ম স্টোরেজ ব্যবহার করা হচ্ছে)। মূলত ভৌগলিক সূচক বা অনুসন্ধান গাছের কাঠামোতে কোনও পরিবর্তন করার দরকার নেই; অনুসন্ধান অ্যালগরিদমের জন্য কেবলমাত্র একটি সামান্য পরিবর্তন প্রয়োজন।

যে কোনও হারে, এখানে নিজেই প্রশ্নের সমাধান।


আমি অনুমান করি আপনি ইনপুটটি সীমাবদ্ধ বক্স বর্ণনাকারীর ((এলএলএক্স, এলএলআই), (ইউআরএক্স, ইউআরআই)) এর অনুক্রম হিসাবে অনুমান করছেন:

  • -540 <= এলএলএক্স, -180 <= ইউআরএক্স, এলএলএক্স <= 180, এবং ইউআরএক্স <= 180. এছাড়াও -90 <= এল এল << ইউআর <= 90।

  • a point at (দ্রাঘিমাংশ, অক্ষাংশ) = (x, y) বিবি এর মধ্যে থাকা বিবেচনা করা হয় যদি এবং কেবল যদি

    1. LLy <= y <= ইউআর এবং

    2. হয় এলএলএক্স <= x <= ইউআরএক্স বা এলএলএক্স - 360 <= x <= ইউআরএক্স।

আউটপুট জন্য আপনি সমস্ত ইনপুটগুলির ইউনিয়নযুক্ত ক্ষুদ্রতম বাউন্ডিং বক্সের জন্য প্যারামিটারগুলি চান।

স্পষ্টতই ন্যূনতম বাউন্ডিং বাক্সের (এমবিআর) ওয়াই-সীমাগুলি হ'ল ন্যূনতম এবং সর্বাধিক y- মান হবে। এক্স-সীমাগুলির জন্য, বৃহত্তম ব্যবধান সন্ধান করতে একটি লাইন সুইপ ব্যবহার করুন ।

এখানে অ্যালগরিদমের বর্ণনা রয়েছে। এটি চিত্রিত করার জন্য, ধরুন ইনপুটটিতে চারটি বাক্স রয়েছে,

((-81,-16),(-77,80)),
((77,-19),(156,5)),
((-149,-45),(-90,81)),
((-69,-85),(-36,-76))

এখানে বাক্সগুলির একটি চিত্র (লাল রঙে) এবং এমবিআরগুলি (কালো রঙের) প্রথমটি, তারপরে প্রথম দুটি, তারপরে প্রথম তিনটি, তারপরে সমস্ত বাক্স রয়েছে।

এখানে চিত্র বর্ণনা লিখুন

দ্বিতীয় ধাপে দেখুন, পূর্ব এবং পশ্চিম গোলার্ধের বাক্সগুলি এমবিআর দ্বারা ঘিরে রয়েছে যা + -180 ডিগ্রি মেরিডিয়ান অতিক্রম করে, এই মানচিত্রে এটি দুটি পৃথক বাক্স হিসাবে উপস্থিত হবে। শেষ ধাপে, দক্ষিণ আমেরিকা এবং অ্যান্টার্কটিকার মধ্যে একটি ছোট বাক্সের সামঞ্জস্য রাখতে সেই এমবিআরটি পূর্বদিকে বাড়ানো দরকার।

  1. বাক্সগুলির সমস্ত এক্স-কো-অর্ডিনেটগুলি বের করুন, তাদেরকে মডুলো 360 গণনা করুন (তাদেরকে -180..180 রেঞ্জে রাখার জন্য) তাদেরকে আরোহণের বাছাই করুন এবং এগুলি মোড়ানো করার জন্য প্রথম মানটি (360 ডিগ্রি দ্বারা বর্ধিত) যুক্ত করুন কাছাকাছি:

    -149, -90, -81, -77, -69, -36, 77, 156, 211
    

    (লক্ষ করুন যে 211 এবং -149 একই মেরিডিয়ান)

  2. পূর্ববর্তী স্থানাঙ্কের মধ্যে ব্যবধানকে (তবে সেই পূর্ববর্তী মানটি অন্তর্ভুক্ত নয়) এবং এর মধ্যে প্রতিটি এক্স-কোঅর্ডিনেটের কথা ভাবুন। উদাহরণস্বরূপ, -77 -81 থেকে -77 এর মধ্যে সমস্ত মান প্রতিনিধিত্ব করে তবে -81 সহ নয়। প্রথমটির পরে এগুলির প্রত্যেকের জন্য, সেই ব্যবধানটি সহ বাক্সের সংখ্যাটি গণনা করুন।

    1, 0, 1, 0, 1, 0, 1, 0
    

    উদাহরণস্বরূপ, প্রথম "1" এর অর্থ হল যে একটি বাক্স -149 থেকে -90 এর মধ্যে অন্তর অন্তর্ভুক্ত করে। (এটি তৃতীয় বাক্স।)

    একটি অপ্টিমাইজেশন হিসাবে, আপনি কোনও এক্স-ইন্টারভাল coveringাকা কোনও বাক্স খুঁজে পাওয়ার সাথে সাথে আপনাকে গণনা বন্ধ করতে পারবেন এবং পরবর্তী এক্স-ইন্টারভ্যালে যেতে পারেন। আমরা কেবল এটি নির্ধারণের চেষ্টা করছি যে কোন বিরতিগুলি কোনও বাক্সের আওতায় পড়তে পারে না

  3. (1) এ বাছাই করা এক্স-কো-অর্ডিনেটের প্রথম পার্থক্য গণনা করুন।

     59, 9, 4, 8, 33, 113, 79, 55
    

    এগুলিকে কভারেজ গণনার সাথে মিলিত করুন (2)। সবচেয়ে বড় পার্থক্যটি সন্ধান করুন যার জন্য কভারেজ গণনা 0 হয় Here এখানে এটি সমান 113, পূর্ববর্তী অ্যারের ষষ্ঠ উপাদান। এটি বাক্স সংগ্রহের মাধ্যমে দ্রাঘিমাংশের মধ্যে সবচেয়ে বড় ব্যবধান।

    (মজার বিষয় হল, একাধিক স্থানে সর্বাধিক সংঘটিত হওয়ার সম্ভাবনাটি দেখায় যে সমাধানটি অগত্যা অনন্য নয়! একটি সেট বাক্সের জন্য একাধিক এমবিআর থাকতে পারে additional অতিরিক্ত শর্ত যুক্ত করে আপনি কোনও অনন্যকে সংজ্ঞায়িত করতে পারেন যেমন প্রয়োজনীয়তা এমবিআরের মধ্যবর্তী গড় দূরত্ব + -180 মেরিডিয়ান যতটা সম্ভব বৃহত্তর হবে; টাই সমাধান করতে, পূর্বতম সমাধানটি বলুন (বলুন))

  4. সংশ্লিষ্ট ব্যবধানটি সন্ধান করুন: এখানে, এটি -36 থেকে 77 এর মধ্যে through এটি এমবিআরে নয় দ্রাঘিমাংশের সীমা । সুতরাং, এর পরিপূরকটি -180 থেকে 180 পর্যন্ত পরিসীমাতে নিন Here এখানে পরিপূরকটি দুটি বিচ্ছিন্ন বিরতি রয়েছে, একটি -180 মাধ্যমে -36 এর মধ্য দিয়ে এবং অন্যটি 77 থেকে 180 এর মধ্যে ternative -180 ডিগ্রি মেরিডিয়ান: -283 থেকে -36 এখানে (বা সমতুল্যভাবে, 77 থেকে 324 এর মাধ্যমে)।

  5. এমবিআরের কোণে সর্বনিম্ন এবং সর্বোচ্চ y-মান ব্যবহার করুন।

    ((-283, -85), (-36, 81))
    

পয়েন্ট 4 এর সর্বশেষ বাক্যে, আপনি কেন "-283--36 মাধ্যমে" লিখছেন। 77 থেকে -36 কেন নয়?
লেটমাইক

1
@ নিউও কারণ "77 থেকে -36" একটি ফাঁকা ব্যবধান। (সংজ্ঞা অনুসারে, একটি অন্তর [a, b] সমস্ত সংখ্যার x এর সাথে একটি <= x <= b থাকে a দ্রাঘিমাংশ যতদূর যায়, 77 থেকে -36 সম্পূর্ণ পরিষ্কার। " সমস্যাটি হ'ল এটি নয়: এটি কি 77 থেকে 180 = -180 পর্যন্ত চলে যাবে এবং -36 পর্যন্ত অব্যাহত থাকবে বা এটি 77 থেকে -36 এ নেমে যাবে ? এই ধরনের অস্পষ্টতা এড়াতে আমি সাবধান হওয়া বেছে নিয়েছি।
হোয়বার

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