আমি আমার স্বজ্ঞাত "থাম্বের নিয়ম" ব্যবহার করি ... এটি একটি দ্রুত সিদ্ধান্তের জন্য কার্যকর,
আপনার ডেটাবেস সম্পর্কে : বৈশিষ্ট্য এবং / অথবা স্থানিক বিশ্লেষণগুলি যদি মহাদেশীয়-স্কেলের হয় , এবং নির্ভুলতার প্রয়োজন হয় (গুরুতর অ্যাপ্লিকেশনগুলি) ভূগোল ব্যবহার করুন । অন্য জ্যামিতি ব্যবহার করুন: যখন সমস্ত ডাটাবেস সমান ( নগর-স্কেল ) অঞ্চলের হয়, বা আপনার যথার্থতা ইত্যাদির প্রয়োজন হয় না, আপনার কেবল জ্যামিতির প্রয়োজন হয়। @Unddark এর প্রস্তাবিত বক্তৃতায়
একই নিয়মটি দেখুন ।
পারফরম্যান্স / যথাযথ ভারসাম্যের শর্তাবলী আপনার প্রয়োজন সম্পর্কে : জ্যামিতি দ্রুত হয়; আপনার যদি পারফরম্যান্সের প্রয়োজন হয় এবং ভৌগলিকটি ব্যবহার করার চিন্তাভাবনা করেন তবে প্রথমে আপনার মানদণ্ডটি করুন।
মূল ধারণা
এই পৃষ্ঠায় আমরা কয়েকটি কী-শব্দ এবং কিছু ধারণার উপর দৃষ্টি নিবদ্ধ রেখে দেখি: যথার্থতা , কর্মক্ষমতা এবং ব্যবহারের নমনীয়তা / পণ্যাদির মতো কিছু ।
যেমন অন্যদের মনে আছে, স্টোর এবং গণনাগুলির জন্য পার্থক্যটি হল ভূগোলের ক্ষেত্রে গোলকের ব্যবহার এবং জ্যামিতিতে প্লেন:
- গোলক (ভূগোল) আরও ভাল, আরও সুনির্দিষ্ট। দেখুন লস অ্যাঞ্জেলেস / প্যারিস উদাহরণ ।
- ভূগোলের বিবর্তন: যেমন @ ডেভিডএফ বলছেন, "ভূগোলের ধরণটি সম্প্রতি যুক্ত হয়েছিল, তাই কম ফাংশন সমর্থন / প্রয়োগ করা হয়"।
সম্ভবত ২০২০ সালে সমস্ত জিআইএস ডাটাবেসগুলি একই স্ট্যান্ডার্ড এসআরআইডি / ইপিএসজিতে সেট করা হবে (আজকাল ৪৩ code26 কোডের সাথে ডাব্লুজিএস ৮৪ এর সমতুল্য)। কর্মক্ষমতা এবং কার্যকরী সীমাবদ্ধতার কারণে আজ ভূগোল কোনও ডিফল্ট পছন্দ নয়।
আলোচনা
আমার মতে এটি "সেরা অনুশীলনের" একটি প্রশ্ন, গভীর প্রযুক্তিগত / তাত্ত্বিক সমস্যা নয়।
স্পষ্টতা
আপনার ডেটাতে ত্রুটিটি অনুমান করার পরে, আপনার পরীক্ষাগুলি কি ফলাফলগুলি তুলনা করে: ভূগোলের সাথে যথাযথ লাভগুলি ডেটার ত্রুটির চেয়ে বেশি? এই ধরণের পরীক্ষার এসএফ ডিস্টেন্স ফাংশন ( এমএএক্স এবং এভিজি এগ্রিগেটরগুলির সাথে ) প্রধান উল্লেখ reference
কর্মক্ষমতা
উদাহরণ benchmarks ~ 100km2 একজন শহুরে এলাকা (ব্যাস ~ 11km), সব জ্যামিতি হিসাবে সংরক্ষিত, একটি প্ল্যানার UTM সিস্টেম তুল্য। দ্রষ্টব্য: ঘন ঘন ব্যবহৃত জ্যামিতি / ভূগোল রূপান্তর দিয়ে শুরু করা - ঘন ঘন কারন কিছু ফাংশন বিদ্যমান না থাকে এবং কিছু কিছু যেমন ST_Buffer এবং ST_Intersication অভ্যন্তরীণ রূপান্তর করে।
বেঞ্চ # 1: urban 87000 বহুভুজ শহুরে লট উপস্থাপন করে একটি টেবিল, প্রতিটি পলির সাথে (গড়) ~ 13 পয়েন্ট রয়েছে,
BEGIN; EXPLAIN ANALYSE CREATE TABLE temp_geom AS
SELECT gid, the_geom FROM urbanlots; ROLLBACK;
-- time 2080 ms ~ 2.0 s
BEGIN; EXPLAIN ANALYSE CREATE TABLE temp_geog AS
SELECT gid, Geography(ST_Transform(the_geom,4326)) AS geog
FROM urbanlots; ROLLBACK;
-- time 12374 ms ~ 12.4 s ~ 6 * geometry.
সুতরাং, ভূগোল_কাল = 6 * জ্যামিতি_কাল
বেঞ্চ # 2: শহুরে ব্লকগুলিকে প্রতিনিধিত্ব করে 3500 ডলার বহুভুজ সহ একটি সারণী, প্রতিটি (পলিসি) সাথে 50 টি পয়েন্ট: 0.6 সে বনাম 2.7, ভূগোল_কাল = 4.5 * জ্যামিতি_কাল
বেঞ্চ # 3: urban 5 পয়েন্ট সহ প্রতিটি শহুরে রাস্তাগুলি উপস্থাপন করে 10000 লাইন। 87 0.87s বনাম ~ 0.36s, ভূগোল_ সময় = 2.4 * জ্যামিতি_কাল
টেবিল তৈরি এবং কোয়েরি করা, বেঞ্চ # 2 এ ফিরে যান
EXPLAIN ANALYSE SELECT ST_Area(g.the_geom)+ST_Distance(g.the_geom,t.the_geom)
FROM temp_geom g, (SELECT the_geom FROM temp_geom WHERE gid=1) as t;
-- time 182 ms ~ 0.2 s
EXPLAIN ANALYSE SELECT ST_Area(g.geog)+ST_Distance(g.geog,t.geog)
FROM temp_geog g, (SELECT geog FROM temp_geog WHERE gid=1) as t;
-- time 58657 ms ~ 59 s ~ 300*geometry
-- curioselly for only distances, geography=4*geometry
উপসংহার: সামান্য কাজ এবং ভাল হার্ডওয়ারের জন্য, সময়গুলি "গ্রহণযোগ্য-একই সময়ে" রূপান্তরিত হয় তবে বড় কাজের জন্য, বিবেচনার জন্য পারফরম্যান্স রেটিং রয়েছে।
নমনীয়তার / কমোডিটি
মানদণ্ডে আমি একটি দিন-দিন টাস্ক করি, পয়েন্টের সংখ্যা (দ্বারা ST_NPoints
) পরীক্ষা করে দেখি ... এটি অপারেশনের একটি উদাহরণ যা ভূগোলের জন্য বিদ্যমান নয়, নিক্ষিপ্ত হওয়া দরকার। "ভূগোল / জ্যামিতি castালাই" প্রোগ্রামার, মাস্টার ইত্যাদির জন্য বিরক্তিকর কাজ is
এসকিউএল এবং পিএল / পিজিএসকিউএল ফাংশনগুলির লাইব্রেরিগুলি পুনরায় ব্যবহার করার সময়, ভূগোলের জন্য অভিযোজন প্রয়োজন। এবং, আপনি যদি কোডটি অনুকূলিত করতে চান বা প্রচুর মধ্যস্থতাকারী রূপান্তরগুলির সাথে যথার্থ সমস্যাগুলি এড়াতে চান তবে ভূগোলের সাথে বিল্ড-ইন ফাংশনগুলির একটি সম্পূর্ণ সেট না থাকা অন্য সমস্যা is ভূগোলের জন্য প্রোগ্রাম, সহজ কাজ নয়।
কেবলমাত্র প্রক্রিয়া, ডেটা ইন্টারচেঞ্জ ইত্যাদি
ম্যাপসভারের মতো কোনও নিবিড় ব্যবহারকারীর সাথে অ-সাধারণ দাবিতে যখন আপনার একমাত্র (পোস্টজিআইএস) কাজ ইনপুট ডেটা প্রক্রিয়াকরণ করতে এবং যে কোনও সময়ে (ঘন্টা বা দিনের মতো) প্রক্রিয়াজাত ডেটা ফিরে আসে, থাম্বের নিয়মটি "যদি আপনি ভূগোল ব্যবহার করেন তবে আরামদায়ক! " (উপরে "নমনীয়তা / পণ্য" দেখুন)। যদি তা না হয় তবে সাধারণ নিয়ম পরীক্ষা করে দেখুন।
দ্রষ্টব্য: অবশ্যই, যদি আপনার (অ-স্বাভাবিক) টাস্কটি কেবলমাত্র ইনপুট ডেটার একই (জ্যামিতি বা ভূগোল) সংরক্ষণের জন্য কোনও প্রসেসের প্রয়োজন না করে পোস্টজিআইএস থেকে ম্যাপসভারে ডেটা দেখায়, তবে এটি আরও ভাল সিদ্ধান্ত।
আমি বিশ্বাস করি ডেটা কেঁদ্রীকরণ অন্য কাজের যেখানে ভূগোল উত্তম হল: প্রসঙ্গ যেখানে বৈচিত্র্য ইনপুট ফর্ম্যাট এবং রেফারেন্স সিস্টেম স্বাভাবিক হয়, এই ধরনের ভূগোল দ্বারা জারি যে হিসাবে একটি আদর্শ, ব্যবহার, উপকারী ... কনফিগারেশন উপর কনভেনশন হয় কেন্দ্রীকরণ এবং ডেটা এক্সচেঞ্জ ব্যবসায়ের কেন্দ্রবিন্দুতে থাকাকালীন একটি ভাল নীতি (গুগল মানচিত্র দেখুন!)।