জিপিএস লগগুলির একটি ভৌগলিক ডাটাবেস কীভাবে তৈরি করবেন?


13

আমাদের বায়ুজীবন বন্যজীবনের সমীক্ষায় আমরা সাধারণত কয়েক ডজন জিপিএক্স ফাইল উত্পন্ন করি এবং সাধারণত তাদের বেশিরভাগই জিআইএস অ্যাপ্লিকেশনটিতে প্রদর্শন করার জন্য শেফফাইলে রূপান্তর করি। জিপিএক্স ফাইলগুলি আপনার সমস্ত জিপিএস ডেটা (বা প্রায় সমস্ত) এক জায়গায় রাখার এক দুর্দান্ত উপায় 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]


আমরা এফএমই Safe.com/fme/fme-technology/fme-desktop/features ব্যবহার করি এবং এটি আপনার ও રેકল ডেটাবেস
ম্যাপারজ

1
@ ম্যাপের্জ - জিপিএক্স ফাইলগুলি সংরক্ষণের জন্য কি এফএমইয়ের একটি নির্দিষ্ট পদ্ধতি আছে? আমি যদিও সত্যিই একটি FOSS সমাধান পরে আছি।
সিম্বামাঙ্গু

উত্তর:


6

ptrv / gpx2spatialite এটি উল্লেখযোগ্যভাবে ভাল করে, সমস্ত পয়েন্টের জন্য টাইমস্ট্যাম্পগুলি সংরক্ষণ করে এবং ট্র্যাকগুলির জন্য গতি এবং দৈর্ঘ্যের ডেটা প্রাপ্ত করে। এটি সদৃশ ট্র্যাকগুলিও আমদানি করবে না, সুতরাং আপনি এটিকে জিপিএক্স ফাইলগুলির জন্য একটি বিশাল স্তূপ খাওয়াতে পারেন এবং এটি তাদের যথাযথভাবে ছাঁটাই করবে।

আপডেট : ব্যবহারের উদাহরণগুলি যেমন অনুরোধ করা হয়েছে:

নতুন ডাটাবেস শুরু করুন:

gpx2spatialite_create_db db.sqlite

একটি একক জিপিএক্স ফাইল যুক্ত করুন:

gpx2spatialite -d db.sqlite -u user file.gpx

(যদি ব্যবহারকারীর নাম ব্যবহারকারীর ডাটাবেজে উপস্থিত না থাকে, আপনি এটি তৈরি করতে চান কিনা তা জিজ্ঞাসা করবে The

ফোল্ডারে / এর সমস্ত জিপিএক্স ফাইল যুক্ত করুন :

gpx2spatialite -d db.sqlite -u user folder/

ব্যবহার: এটি একটি স্থানিক ডাটাবেসের আছে, টেবিলের সাথে tracklines পলিরেখার, যেমন ট্র্যাক অধিষ্ঠিত trackpoints (সঙ্গে সময়, টিলা, ইত্যাদি) পৃথক পয়েন্ট ধারণকারী, এবং ওয়েপয়েন্ট কোনো সংজ্ঞায়িত ওয়েপয়েন্ট জন্য। এছাড়াও অনেক সূচক রয়েছে, কিছু বিশ্ব নগর সংজ্ঞা এবং সম্ভবত এম্বেড করা এসএলডি স্টাইলিং তথ্য আমি এখনও অনুসন্ধান করে দেখিনি। তুচ্ছ উদাহরণ হিসাবে, এখানে আমার শহর (টরন্টো) কীভাবে ~ 7 বছরের ট্র্যাক লগের মাধ্যমে সংজ্ঞায়িত করা হয়েছে তার একটি মানচিত্র এখানে রয়েছে:

টরন্টো জিপিএস লগ

75% স্বচ্ছতার ভিত্তিতে লাইনগুলি ব্যবহার করে, সর্বাধিক ঘন ঘন ভ্রমণ করা রুটগুলি আরও গাer় হয়।


আহা, বুঝতে পারিনি যে এটি কমান্ড লাইন থেকে অ্যাক্সেসযোগ্য স্ক্রিপ্টeasy_install gpx2spatialite হিসাবে বাস্তবে ইনস্টল করবে ! বিকল্পটি বিভ্রান্তিকর ছিল, তারা মুখ্য পৃষ্ঠাতে তা ব্যাখ্যা না এবং spatialite একটি অ-অ্যাক্সেস-বিধিনিষেধযুক্ত সিস্টেম। user
সিম্বামাঙ্গু

userবিকল্প যেমন একাধিক অংশগ্রহণকারীদের একই ডাটাবেসের সাথে তাদের গানগুলি যোগ করতে পারবেন, Drawinglife প্রকল্পের জন্য জ্ঞান করে তোলে। সিটি ট্যাগিং বাদ দেওয়া এবং ক্র্যাশগুলির কারণ অনুসন্ধান করার জন্য ইঙ্গিতগুলির জন্য ধন্যবাদ। আপনার যদি টাইমস্ট্যাম্প ছাড়াই জিপিএক্স ফাইল থাকে, আপনি জিপিএসবেলের ফেকটাইম বিকল্পটি ব্যবহার করে সময় ডেটা সংশ্লেষ করতে পারেন ।
স্ক্রস করুন

1
FYI, gpx2spatialite সিনট্যাক্স পরিবর্তন হয়েছে। gpx2spatialite import -u user -s -d db.spatialite file1.gpx …
টিপিক্যাল

3

আপনার মন্তব্যটি আরও জানাতে - "জিপিএক্স ফাইলগুলি সংরক্ষণের জন্য কি এফএমইয়ের একটি নির্দিষ্ট পদ্ধতি আছে?"

হ্যাঁ রুট, ওয়েপয়েন্টস, ট্র্যাক এবং মেটাডেটার উপর আপনার সম্পূর্ণ নিয়ন্ত্রণ রয়েছে have এখানে চিত্র বর্ণনা লিখুন

জিএম ডেটা এবং অ-স্থানিক ডেটা একসাথে ম্যানিপুলেট করার জন্য এফএমই একটি খুব যোগ্য এবং শক্তিশালী সরঞ্জাম।

আরও তথ্যের জন্য দেখুন http://evangelism.safe.com/fmeevangelist26/


2

পাইথন বা পার্লে জিপিএক্স ডেটা বের করতে আপনার নিজের প্রোগ্রাম তৈরি করার জন্য এখানে কিছু ধারণা রয়েছে । এখান থেকে ডেটা স্থানিক ডাটাবেসে ডেটা রাখার পক্ষে খুব বেশি পরিমাণ নেই। স্থানিক স্থান সংরক্ষণের জন্য আপনার একটি উপযুক্ত স্কিমা সম্পর্কে ভাবতে হবে - আপনি কোন বৈশিষ্ট্যগুলি রাখতে চান?)।


1

আপনি যদি ওজিআর রুটে যেতে চান তবে সর্বোত্তম পন্থাটি হচ্ছে শেপফিলের কাছে প্রথমে রফতানি করা, যা ওয়েপপয়েন্ট / ট্র্যাকপয়েন্ট / উপায় / ট্র্যাক পার্থক্য এবং সম্পর্কিত মেটাডাটা উপস্থাপন করে একাধিক শেফফিলগুলি রফতানি করবে এবং তারপরে ফাইলগুলির প্রতিটি সেটকে আপনার মূল এসকিউএলাইটে মার্জ করবে will তথ্যশালা.


-1

যোগ করার চেষ্টা করুন

-lco GPS_USE_EXTENSIONS=YES

আপনার ogr2ogr কমান্ড


আমি এটি একটি নতুন টেবিলে চেষ্টা করেছি - ফলস্বরূপ ক্ষেত্র বা ডেটাতে কোনও প্রভাব নেই। আপনি এটি কি আশা করছেন?
সিম্বামাঙ্গু

আমি বর্ধিত বৈশিষ্ট্য পেতে আশা ছিল। আপনার প্রশ্নটি পুনরায় পড়া, আমি মনে করি না যে ট্র্যাক পয়েন্টকে তাদের পয়েন্ট হিসাবে রফতানি করা ছাড়াও প্রতিটি পৃথক ট্র্যাক পয়েন্ট সময় পাওয়া যায়।
মিশা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.