মাইএসকিউএলতে এলএনজি / লেট সংরক্ষণ করার জন্য ডেটা ধরণের


14

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

আমি ব্যবহার শুরু করেছিলাম decimal(18,12), তবে এই নির্ভুলতার প্রয়োজন কিনা আমি ঠিক একটি ব্যবহার করতে পারি কিনা তা সম্পর্কে অনিশ্চিত ছিলাম float। আমার কোডটি অন্তর্ভুক্ত করেছিলাম, অন্য যে কোনও বিষয় বিবেচনা করা উচিত সে ক্ষেত্রে:

CREATE TABLE UKTest
(
lat FLOAT,
lng FLOAT
)

আমি এসকিউএল-এ একেবারে নতুন তাই কোনও ক্যোয়ারী চালানোর সময় ডেটা টাইপ তাৎপর্যপূর্ণ কিনা তা সম্পর্কে আমি নিশ্চিত নই। আমি ধরে নিয়েছিলাম যে ভেরিয়েবল টাইপের উপর ভিত্তি করে সামগ্রিক মেমরি পৃথক হবে। এই ধরণের কাজের জন্য কোনও মৌলিক মাইএসকিউএল ডাটাবেসের মাধ্যমে একটি স্থানিক ডাটাবেস ব্যবহারের কোনও সুবিধা আছে কি?

উত্তর:


16

এই প্রশ্নটি স্ট্যাকওভারলোতেও জিজ্ঞাসা করা হয়েছিল

শীর্ষের উত্তরটি মাইএসকিউএল স্থানিক এক্সটেনশনের পরামর্শ দেয় । এই এক্সটেনশনগুলি কাজ করার লিঙ্ক লোড আছে এখানে

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

একটি গুগল থেকে কোড উদাহরণস্বরূপ একটি মানচিত্রে পয়েন্ট প্রদর্শন করার, তারা রাজ্য:

আপনি যখন মাইএসকিউএল টেবিলটি তৈরি করেন, আপনি ল্যাট এবং এলএনজি বৈশিষ্ট্যগুলিতে বিশেষ মনোযোগ দিতে চান। গুগল ম্যাপের বর্তমান জুম ক্ষমতা সহ, দশমিকের পরে আপনার কেবল 6 সংখ্যক নির্ভুলতার প্রয়োজন।

আমাদের টেবিলের জন্য প্রয়োজনীয় স্টোরেজ স্পেসটি সর্বনিম্ন রাখতে, আপনি উল্লেখ করতে পারেন যে ল্যাট এবং এলএনজি বৈশিষ্ট্যগুলি আকারের (10,6) ভাসমান। এটি ক্ষেত্রগুলিকে দশমিকের পরে digit ডিজিট সংরক্ষণ করতে দেয়, দশমিকের আগে 4 অঙ্কের বেশি, উদাহরণস্বরূপ -123.456789 ডিগ্রি

আমি সংখ্যার ধরণের মধ্যে পারফরম্যান্সের পার্থক্য সম্পর্কে চিন্তা করব না। শালীন সূচকগুলি আরও বেশি প্রভাব ফেলবে।


একটি উত্তরের জন্য +1! এটি আমি যা বলেছি এবং করতাম।
OptimizePrime

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


1
আর উত্তর আরো লিঙ্ক একটি লিঙ্ক সহ আপডেট
geographika

4 সংখ্যার অঙ্ক কেন?
অ্যালিক্স অ্যাক্সেল

6

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

2019 : আমার মতো লোকদের জন্য যারা মন্তব্যও পড়ে না - মাইএসকিউএল প্রমাণ ছাড়াই স্থানিক ডেটা ধরণের, সম্ভবত ধীর গতির সমর্থন করে।


দ্রষ্টব্য: যারা নতুন এবং উপরোক্ত পড়ছেন তাদের জন্য, মাইএসকিউএল 5.7+ এখন স্থানিক সূচকগুলির সাথে কাজ করে।
হোপকিং

তবে এটি এখনও ধীর
আয়ান টার্টন

আপনি কি দয়া করে এমন সংস্থানগুলিতে সহায়তা করতে পারেন যা দেখায় যে কত ধীর? আমি এক মিলিয়ন রেকর্ড কম প্রকল্পে এটি ব্যবহার করার বিষয়ে বিবেচনা করছি। ধন্যবাদ।
হোপকিং

ব্যক্তিগত অভিজ্ঞতা কোন পাবলিক ডেটা। অবৈধ জ্যামিতি ইত্যাদি ভাঙা জিনিসগুলির সাথে প্রচুর সমস্যা
আয়ান টার্টন

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