একটি GeoJSON ফাইল কি?
GeoJSON হল একটি JSON ভিত্তিক বিন্যাস যা ভৌগলিক বৈশিষ্ট্যগুলিকে তাদের অ-স্থানিক বৈশিষ্ট্যগুলির সাথে উপস্থাপন করার জন্য ডিজাইন করা হয়েছে৷ এই বিন্যাসটি বিভিন্ন JSON (জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন) অবজেক্ট এবং তাদের যোগদানের ফ্যাশনকে সংজ্ঞায়িত করে। JSON ফর্ম্যাট ভৌগলিক বৈশিষ্ট্য, তাদের স্থানিক বিস্তৃতি এবং বৈশিষ্ট্য সম্পর্কে একটি সম্মিলিত তথ্য উপস্থাপন করে। এই ফাইলের একটি বস্তু একটি জ্যামিতি (বিন্দু, লাইনস্ট্রিং, বহুভুজ), একটি বৈশিষ্ট্য বা বৈশিষ্ট্যের সংগ্রহ নির্দেশ করতে পারে। বৈশিষ্ট্যগুলি ঠিকানা এবং স্থানগুলিকে পয়েন্টের রাস্তা, প্রধান রাস্তা এবং সীমানাগুলিকে লাইন স্ট্রিং হিসাবে এবং দেশ, প্রদেশ এবং ভূমি অঞ্চলগুলিকে বহুভুজ হিসাবে প্রতিফলিত করে। GeoJSON ব্যবহার করে, বিভিন্ন মোবাইল রাউটিং এবং নেভিগেশন অ্যাপ্লিকেশন তাদের পরিষেবার কভারেজ নির্দেশ করতে পারে। GeoJSON-এর একটি এক্সটেনশন হল TopoJSON যা আকারে ছোট এবং ভূ-স্থানিক টপোলজি এনকোড করে।
সংক্ষিপ্ত ইতিহাস
The Internet Engineering Task Force (IETF), in association with the format authors, shaped a GeoJSON WG to release GeoJSON in April 2015. Replacing the 2008 GeoJSON specification, RFC 7946, the new standard specification of the GeoJSON format published in August 2016.
জিওজেসন ফাইল ফরম্যাট
সমন্বয়
স্থানাঙ্ক হল যেকোনো ভৌগলিক তথ্যের মৌলিক উপাদান। এটি একটি একক মাত্রা (দ্রাঘিমাংশ, অক্ষাংশ) একটি একক সংখ্যা (দশমিক বিন্যাস) প্রতিনিধিত্ব করে এবং কখনও কখনও উচ্চতার জন্যও একটি স্থানাঙ্ক রেকর্ড করে। সময়ও একটি মাত্রা কিন্তু এর জটিলতা এটিকে স্থানাঙ্ক হিসাবে রেকর্ড করা কঠিন করে তোলে। উভয় JSON GeoJSON-এ স্থানাঙ্কগুলি সংখ্যার মতো ফর্ম্যাট করা হয়।
অবস্থান
স্থানাঙ্কের একটি অর্ডারকৃত অ্যারে position প্রতিনিধিত্ব করে। এটি পৃথিবীর একটি বিন্দু নির্দেশ করতে পারে এমন ক্ষুদ্রতম একক।
[দ্রাঘিমাংশ, অক্ষাংশ, উচ্চতা]
বর্তমান স্পেসিফিকেশন প্রকাশের আগে, GeoJSON প্রতি অবস্থানে তিনটি স্থানাঙ্ক রেকর্ড করার অনুমতি দিয়েছে কিন্তু নতুন স্পেসিফিকেশন দ্বারা অনুমোদিত নয়।
জ্যামিতি
GeoJSON-এ জ্যামিতি হল সরল আকার (বিন্দু, বক্ররেখা এবং পৃষ্ঠ) যা একটি প্রকার এবং স্থানাঙ্কের একটি সংগ্রহ নিয়ে গঠিত। পয়েন্ট হল সবচেয়ে সহজ জ্যামিতি যা একটি একক অবস্থানের প্রতিনিধিত্ব করে
{ টাইপ: বিন্দু, স্থানাঙ্ক: [0, 0] }
লাইনস্ট্রিংস
একটি লাইনের প্রতিনিধিত্ব করতে কমপক্ষে দুটি সংযুক্ত স্থান ব্যবহার করা হয়।
{ type: LineString, coordinates: [[10, 30], [10, 10]] }
বিন্দু এবং লাইন স্ট্রিং জ্যামিতির দুটি সহজ বিভাগ। উভয় ধরণের জ্যামিতি অনেক জ্যামিতিক নিয়মকে বিরক্ত করে না। একটি বিন্দুকে যেকোনো জায়গায় উপস্থাপন করা যেতে পারে এবং একটি লাইনের একাধিক বিন্দু থাকতে পারে, এমনকি বিন্দুগুলো স্ব-ক্রসিং হলেও।
বহুভুজ
GeoJSON জ্যামিতিগুলি বহুভুজগুলিতে উল্লেখযোগ্যভাবে আরও জটিল বলে মনে হচ্ছে। বহুভুজগুলির ভিতরের এবং বাইরের অংশ রয়েছে এবং ভিতরের দিকে গর্ত থাকতে পারে।
{
"type": "Polygon",
"Coordinates": [
[
[30, 10], [10, 10], [10, 0], [20, 40]
]
]
}
লাইনস্ট্রিংসের সাথে তুলনা করে, বহুভুজগুলিতে, স্থানাঙ্কের তালিকাটি আরও একটি স্তরের নেস্টেড এবং ডোনাটের মতো কাট-আউট থাকতে পারে।
সমন্বয় স্তর
GeoJSON বিন্যাসে, স্থানাঙ্ক সম্পত্তির জন্য, গভীরতার চারটি স্তর রয়েছে।
বৈশিষ্ট্য
জ্যামিতিগুলি হল GeoJSON-এর কেন্দ্রীয় অংশ, তাই, বাস্তব বিশ্বের তথ্যগুলি পরিচয় এবং বৈশিষ্ট্যযুক্ত থিসগুলি সাধারণ আকারের চেয়ে বেশি। বৈশিষ্ট্যগুলি জ্যামিতির পাশাপাশি তাদের বৈশিষ্ট্যগুলি রেকর্ড করে।
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [20, 10]
},
"properties": {
"name": "fortune island"
}
}
একটি বৈশিষ্ট্য বৈশিষ্ট্য এক ধরনের JSON অবজেক্ট হতে পারে যাতে একক-গভীর কী মান ম্যাপিং থাকে।
বৈশিষ্ট্য সংগ্রহ
জিওজেএসএন ফাইলের শীর্ষ স্তরে, ফিচার কালেকশন হল সবচেয়ে সাধারণ জিনিস যা দেখায়:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [20, 10]
},
"properties": {
"name": "null island"
}
}
]
}
অনেক ম্যাপিং এবং GIS সফ্টওয়্যার প্যাকেজ GeoJSON সমর্থন করে যার মধ্যে GeoDjango, OpenLayers, এবং Geoforge সফ্টওয়্যার রয়েছে। এটি পোস্টজিআইএস এবং ম্যাপনিকের সাথেও সামঞ্জস্যপূর্ণ। Google, yahoo এবং Bing মানচিত্রের API পরিষেবাগুলিও GeoJSON সমর্থন করে৷