আমাদের বায়ুজীবন বন্যজীবনের সমীক্ষায় আমরা সাধারণত কয়েক ডজন জিপিএক্স ফাইল উত্পন্ন করি এবং সাধারণত তাদের বেশিরভাগই জিআইএস অ্যাপ্লিকেশনটিতে প্রদর্শন করার জন্য শেফফাইলে রূপান্তর করি। জিপিএক্স ফাইলগুলি আপনার সমস্ত জিপিএস ডেটা (বা প্রায় সমস্ত) এক জায়গায় রাখার এক দুর্দান্ত উপায় they এগুলি এক্সএমএল ফাইল যা ট্র্যাকলগ, ওয়েপয়েন্ট এবং রুটের তথ্যকে একটি সুবিধাজনক বিন্যাসে সঞ্চয় করে। তারা একাধিক ট্র্যাক এমনকি কোনও গার্মিন থেকে পুরানো সংরক্ষণ করা ট্র্যাক সংরক্ষণ করে store
একই জরিপের পয়েন্ট অবজারভেশনাল ডেটা রয়েছে এমন অন্যান্য টেবিলের সাথে সমান্তরালভাবে আমি এই সমস্ত ট্র্যাক ডেটা একটি স্থানিক ডাটাবেসে সংরক্ষণ করতে চাই।
ogr2ogr আমাকে ট্র্যাকটিকে একটি স্থানিক ডাটাবেসে রূপান্তর করতে দেবে:
ogr2ogr -append -f "SQLite" -dsco SPATIALITE=yes # add to table with Spatialite filetype
-dsco INIT_WITH_EPSG=yes -t_srs epsg:4326 # using WGS84
SURVEYDATA.sqlite GPXFILE.gpx tracks -nln tracktable; # adding tracks to 'tracktable'
যাইহোক, এটি প্রতিটি সংরক্ষিত ট্র্যাকটি একটি লাইন হিসাবে আমদানি করে - প্রতিটি ট্র্যাক পয়েন্টের জন্য সময় / অবস্থানের তথ্য হারাতে পারে!
ট্র্যাকলগ ডাটাবেস তৈরির যে কোনও চতুর উপায় যে কেউ সেই তথ্য সংরক্ষণ করবে তা কি কেউ জানেন?
সম্পাদনা :
ট্র্যাকলগগুলি কেবল একটি লাইন নয় - এগুলি ক্রমবর্ধমান পয়েন্টগুলির সংগ্রহ, প্রতিটিই একটি উচ্চতা এবং সময়ের বৈশিষ্ট্য সহ। প্রতিটি পয়েন্ট একটি ট্র্যাক সেগমেন্টের অন্তর্গত, যা পরিবর্তে প্রদত্ত ট্র্যাকের অন্তর্ভুক্ত এবং প্রতিটি ট্র্যাক সেগমেন্টের মধ্যে পয়েন্টগুলি কোনও বাধা ছাড়াই নেওয়া হয়েছিল এবং এটি সংযুক্ত বলে ধরে নেওয়া যেতে পারে। উদাহরণ স্বরূপ:
<trk><name>ACTIVE LOG</name>
<trkseg>
<trkpt lat="-13.471403" lon="31.382982"><ele>467.818725585938</ele><time>2009-09-09T03:53:38Z</time></trkpt>
<trkpt lat="-13.471403" lon="31.382982"><ele>468.780029296875</ele><time>2009-09-09T03:53:50Z</time></trkpt>
<trkpt lat="-13.471403" lon="31.382982"><ele>465.896118164063</ele><time>2009-09-09T03:54:43Z</time></trkpt>
</trkseg>
সুতরাং, একটি ট্র্যাকলগ সংরক্ষণ করার জন্য আপনাকে তাদের সম্পর্কিত ডেটা দিয়ে পয়েন্টের এই সংগ্রহটি সংরক্ষণ করতে হবে।
একটি সমাধান হতে পারে ট্র্যাকের নাম, বিভাগ, উচ্চতা এবং সময়ের জন্য অতিরিক্ত কলাম সহ পয়েন্ট হিসাবে এই ট্র্যাকগুলি লোড করা; আমি মনে করি না যদিও ও জিআর ট্র্যাকগুলিকে পয়েন্ট হিসাবে রূপান্তর করবে।
সমাধান
ধন্যবাদ যারা নির্দিষ্ট @scruss করার gpx2spatialite , যা আমি দিয়ে ইনস্টল (OS X এর 10.9) sudo easy_install gpx2spatialite
। সরঞ্জামগুলির এই সেটটি 'অঙ্কনজীবন' প্রকল্পের জন্য ডিজাইন করা হয়েছে (এবং এর ফলে কিছু 'শহর' তথ্য রয়েছে যা সম্ভবত আমাদের বেশিরভাগের জন্য অপ্রয়োজনীয়); মূল gpx2spatialite পৃষ্ঠাটি খুব বেশি ব্যাখ্যা করে না, তবে চিত্রাঙ্কন উইকিটি আরও ভাল। তবুও, প্রচুর নথিভুক্ত বৈশিষ্ট্য - ডুপ্লিকেটগুলি সরানোর মতো!
জিপিএক্স ফাইলগুলির জন্য একটি স্পেসিয়াল ডাটাবেস তৈরি করুন যা ট্র্যাক সেগমেন্টস, ট্র্যাকগুলি, ট্র্যাকপয়েন্টগুলি এবং ওয়ে পয়েন্টগুলিকে ধারণ করবে। এটিতে 'ব্যবহারকারী' সেটআপও রয়েছে (যা অদ্ভুত বলে মনে হয়, যেহেতু স্ক্লাইটটি কোনও ব্যবহারকারী-অ্যাক্সেস সিস্টেম নয়, তবে এটি ড্রইং লাইফের জন্য বোঝানো হয়েছিল) বিভিন্ন ট্র্যাকগুলি লেবেল করার জন্য ডিজাইন করা হয়েছিল:
gpx2spatialite create_db MyGPXArchive.db
সমস্ত সাবফোল্ডার সহ জিপিএক্স ফাইলগুলির পুরো ফোল্ডারটি লোড করুন, রাস্তায় সদৃশগুলি চেক এবং অপসারণ:
gpx2spatialite -s -d MyGPXArchive.db -u SL25 Selous2013/
বিকল্প:
-s
= ট্র্যাকপয়েন্টগুলি শহর ডাটাবেসে আছে কিনা তা পরীক্ষা করে দেখুন না (এটি অনেক গতিতে বাড়িয়ে তোলে)-d MyGPXArchive.db
= ব্যবহার করার জন্য ডাটাবেস;-u SL25
= ব্যবহারকারীর এসএল 25 যোগ করুন (ট্র্যাকের সেট সংগ্রহের জন্য আমি কেবল একটি লেবেল ব্যবহার করেছি);Selous2013
= ফোল্ডারটিতে (সাবফোল্ডার সহ) যে ট্র্যাকগুলিতে আমি আগ্রহী সেগুলি রয়েছে।
বাগ:
যদি আপনি কোনও পুরোনো গারমিনে ট্র্যাকগুলি সঞ্চয় করে থাকেন যা সময় স্ট্যাম্পের তথ্যকে অস্বীকার করে তবে তা আমদানিটি ক্র্যাশ করবে (জিপিএসউ এর মতো ইউটিলিটি ব্যবহার করে সেই সংরক্ষিত ট্র্যাকগুলি সরিয়ে ফেলবে)। আপনার জিপিএসবেবেল থাকলে প্রথমে ফাইলটি ফিল্টার করুন এর মতো:
gpsbabel -w -r -t -i gpx -f [INPUT.gpx] -x ট্র্যাক, শুরু = 20000101 -o জিপিএক্স-এফ [OUTPUT.gpx]