আমি এক্স, ওয়াই কলামগুলির সাহায্যে একটি এক্সেল ফাইলকে কীভাবে আকৃতিতে রূপান্তর করতে পারি?


26

আমি এক্স, ওয়াই কলাম সহ একটি এক্সেল ফাইলকে কীভাবে বিন্দু শেফফাইলে রূপান্তর করতে পারি?

শেফফিলের সঠিক তৈরি ছাড়াও কিছুটা alচ্ছিক প্রয়োজনীয়তা রয়েছে:

  1. কলামের প্রকারগুলি (এক্সেলের বিন্যাস নির্দিষ্টকরণ অনুসারে) ধরে রাখা উচিত (বিশেষত তারিখের প্রকারগুলি)
  2. শিরোনাম থেকে কলামের নাম নেওয়া উচিত
  3. আমি কমান্ড-লাইন থেকে এটি করতে চাই
  4. আমি যদি তৃতীয় কলামে পয়েন্টগুলির জন্য ভিন্ন ভিন্ন স্থানের উল্লেখগুলি অন্তর্ভুক্ত করতে পারি তবে আমি খুব খুশি হব :)

উত্তর:


24

আমি ওজিআর / জিডিএল ব্যবহার করার পরামর্শ দেব যা জিডিএল লাইব্রেরির অংশ । ওজিআর একটি ভার্চুয়াল ফর্ম্যাটটিকে সমর্থন করে যা এক্সএমএল ফাইলের মাধ্যমে স্পেসিফিকেশনকে অনুমতি দেয়। আপনি যদি নিজের এক্সেল ওয়ার্কশিটটিকে সিএসভিতে রূপান্তর করেন তবে ডেটা অ্যাক্সেস করার জন্য আপনি একটি ভিআরটি তৈরি করতে পারেন।

ধরে নিচ্ছি আপনার কাছে এরকম কিছু রয়েছে example.csv:

Lat,Long,Year,Name
34.0,-120.0,2010-05-01,Off Santa Rosa Island

আপনি example.vrtনিম্নলিখিত হিসাবে একটি ভিআরটি তৈরি করতে পারেন :

<OGRVRTDataSource>
    <OGRVRTLayer name="example">
        <SrcDataSource>example.csv</SrcDataSource>
        <GeometryType>wkbPoint</GeometryType>
        <LayerSRS>WGS84</LayerSRS>
        <GeometryField encoding="PointFromColumns" x="Long" y="Lat"/>
    </OGRVRTLayer>
</OGRVRTDataSource>

GDAL 1.7 থেকে শুরু করে, আপনি অতিরিক্ত বৈশিষ্ট্য ক্ষেত্রগুলির ডেটাটাইপগুলি <Field>অভ্যন্তরের উপাদানটি ব্যবহার করে <OGRVRTLayer>যেমন নির্দিষ্ট করতে পারেন:

    <Field name="date" src="Year" type="Date" />

মনে রাখবেন যে শেবাফিলগুলি ডিবিএএসই আইভি ফর্ম্যাটে বৈশিষ্ট্যগুলি সঞ্চয় করে যা এক্সেলের চেয়ে ডেটা ধরণের ক্ষেত্রে স্বচ্ছতা কম। একবার আপনার ভিআরটি ফাইলটি নির্দিষ্ট হয়ে গেলে আপনি ডেটাকে শেফিলে রূপান্তর করতে সাধারণ ওজিআর সরঞ্জামচেন ব্যবহার করতে পারেন:

ogr2ogr -f "ESRI Shapefile" example.shp example.vrt

দুর্ভাগ্যক্রমে, # 4 সম্ভব নয় - শেফফিলের স্পেসিফিকেশন একক প্রজেকশনকে মঞ্জুরি দেয় ( example.prjশেষ ধাপের পরে এখানে দৃশ্যমান )।


এর একমাত্র ডাউন-সাইডটি হ'ল আমি <Field>ট্যাগটি লেখার জন্য প্রোগ্রামামিকভাবে কলামগুলির ডেটা-প্রকারগুলি বের করতে হবে । আমি অনুমান করি যে আমি এটি নিজেই খুঁজে বের করব :)
fmark

ঠিক। আপনি যদি একটি স্বয়ংক্রিয় সমাধান চান এবং আর্কজিআইএসে অ্যাক্সেস পেতে চান তবে আপনি এটি পরিবর্তে XY Coordinates সরঞ্জামটি tinyurl.com/38jm55k যুক্ত করে এটি করতে পারেন , যা আপনার পক্ষে এই পদক্ষেপটি করা উচিত।
বাজে

আপনার এক্সেল ফাইলটি প্রথমে ইএসআরআই শেফফিলের জন্য উপযুক্ত একটি ফর্ম্যাটে রূপান্তর করা - কলামের নামগুলির সীমাবদ্ধতা, নামগুলির দৈর্ঘ্য এবং যদি আপনি যুক্ত এক্সওয়াই সরঞ্জামটি ব্যবহার করেন তবে ESRI ক্ষেত্রের ধরণটি যেভাবে স্বয়ংক্রিয় করতে পারে তার কারণ হতে পারে সমস্যা। webhelp.esri.com/arcgisdesktop/9.2/…
spg

3
সঠিকভাবে ফর্ম্যাটেড ভিআরটি
ম্যাট উইলকি

9

আপনি পাঠ্য ফাইলটি লোড করার জন্য কিউজিআইএস (http://qgis.org ) এর সাথে আসা ডিলিমিটেড পাঠ্য প্লাগইনটি ব্যবহার করতে পারেন এবং তারপরে এটি একটি শেফফাইল হিসাবে সংরক্ষণ করতে পারেন।


আমি প্রায়শই এই সরঞ্জামটি ব্যবহার করে পার্সার ত্রুটি দ্বারা জর্জরিত। কোন পরামর্শ?
fmark

1
আপনার কি নির্দিষ্ট উদাহরণ রয়েছে?
gsherman

@ ফারমার্ক - আমি এই ত্রুটিগুলিও পেয়েছি এবং এটি সাধারণত এমএস এক্সেলের
সিএসভি

6

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


1
আপনি যদি পাইথন ব্যবহার করেন, আপনি কমান্ড লাইন থেকে একটি জিওপ্রসেসিং সরঞ্জাম চালাতে পারেন।
jswise

6

ওয়েব সন্ধানে আমি এক্সওয়াই ডেটা ডিসপ্লেতে কোনও অনুসন্ধান পৃষ্ঠা খুঁজে পেয়েছি তবে প্রক্রিয়াটি সহজ।

  1. আপনার কার্যপত্রকের জন্য ব্রাউজ করতে (স্প্রেডশিটের মধ্যে) ডেটা যুক্ত করুন (বা ক্যাটালগ উইন্ডো থেকে টেনে আনুন এবং ব্যবহার করুন ) এবং এটি আপনার মানচিত্রে যুক্ত করুন
  2. ইভেন্ট লেয়ার যুক্ত করতে ডিসপ্লে এক্সওয়াই ডেটা চয়ন করতে এবং ব্যবহার করতে ডান ক্লিক করুন
  3. স্রেফ তৈরি ইভেন্ট ইভেন্টটিতে ডান-ক্লিক করুন এবং একটি শেফফিল তৈরি করতে ডেটা | এক্সপোর্ট ডেটা ব্যবহার করুন

এটি করার জন্য আপনার কেবল আর্কভিউ (বেসিক) লাইসেন্স স্তরের আর্কজিআইএসের (জন্য) ডেস্কটপ প্রয়োজন।


উপাত্তের অংশ নয় এমন শীর্ষ কলামগুলির সাথে আমার কি কিছু করা দরকার?
জোড়ান

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

ভাবেন যে আমি দু'জনের জন্য শীর্ষে পড়েছি - এবং ধরে নিচ্ছি আপনি শীর্ষ সারির অর্থ (শিরোনামের)। এগুলি কেবল ডেটা যুক্ত করার পরে ফিল্ডের নাম হয়ে উঠতে হবে।
পলিজিও

এটি এখনও ঠিক আছে কিনা তা নিশ্চিত নন, তবে এক্সেল ফাইলে শিরোনামের শূন্যস্থানগুলি অ্যাড এক্সওয়াইয়ের আসল মাথাব্যথা হিসাবে ব্যবহৃত হত।
চাদ কুপার

1
এক্সেল ফাইলগুলি সরাসরি আর্কজিআইএসে লোড করা আশ্চর্যজনকভাবে কাজ করে - যখন তা না করে! দেখার জন্য বিষয়গুলি: তারিখগুলি ম্যাংগলড, সংখ্যাগুলি কেটে গেছে। প্রথম সমস্যা সমাধানের পদক্ষেপটি সর্বদা পাঠ্য হিসাবে সংজ্ঞায়িত সমস্ত কলাম সহ সিএসভিতে রফতানি করা হয় এবং সমস্যাটি স্থির করে দেখার পরিবর্তে লোড করা হয়। এই সাবধানে একপাশে। এক্স / ওয়াই হিসাবে প্রদর্শন করুন খুব ভাল কাজ করে।
ম্যাট উইলকি

4

সবসময় অ্যাডভেঞ্চারাস অপশন থাকে। আপনি নিজেই শেপ ফাইলটি লিখতে পারেন। ইএসআরআই শেফফিলের জন্য বিশেষ প্রকাশ করে, যা আপনি এখানে পড়তে পারেন:

http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf

আপনার সম্ভবত একটি ডিবিএফ ফাইলও লিখতে হবে। আপনি এখানে ফর্ম্যাট সম্পর্কে পড়তে পারেন:

http://www.clicketyclick.dk/databases/xbase/format/dbf.html#DBF_STRUCT

এটি নিঃসন্দেহে ওভারকিল, তবে এটি পুরো প্রক্রিয়াটির উপরে নিয়ন্ত্রণ রাখার সুবিধা দেয়।


আমি আসলে সেভাবেই ঝাঁকুনি করছি - আমি সরাসরি যদিও শেফফিলটি লেখার পরিবর্তে ওজিআর ব্যবহার করব!
fmark

2
এক্সেল সম্ভবত সরাসরি ডিবিএফ লিখতে পারে, যদিও আমি সেই ডিবিএফকে একটি শেফফিলের ডিবিএফ উপাদান হিসাবে ব্যবহার করে বিভিন্ন স্তরের সাফল্য পেয়েছি।
মওয়াওয়াকার

এক্সেল dbf ফাইল লিখতে না।
ব্যবহারকারী 30184

3

আমি ব্যক্তিগতভাবে নিরাপদ সফ্টওয়্যার (http://www.safe.com) থেকে এফএমই ব্যবহার করতে পছন্দ করি, যা কেবলমাত্র এক্সওয়াইয়ের মানগুলি থেকে আমাকে পয়েন্ট প্লট করতে দেয় না, প্লট করার আগে একটি সমন্বয় থেকে অন্য স্থানে স্থানাঙ্কগুলি রূপান্তর করার জন্য আমাকে নমনীয়তা সরবরাহ করে, নির্দিষ্ট করে ডিলিমিটারের প্রকার, প্রারম্ভিক রেখা (পাঠ্য ফাইলের শিরোনামের তথ্য রয়েছে) ক্ষেত্রে পাঠ্য ফাইলে এক্স, ওয়াই, বিন্দু ডেটার জন্য অ্যাট্রিবিউট তথ্য থাকলে বৈশিষ্ট্যগুলি সংযুক্ত করুন। আপনি যদি গুগল আর্থে এই ডেটাটি কল্পনা করতে চান তবে আপনি কেএমএল ফর্ম্যাটে লিখতে পারেন পাশাপাশি কেএমএল পয়েন্ট স্টাইলটিও নির্দিষ্ট করে রাখতে পারেন। ~ SRG


2

আপনি যদি এক্স, ওয়াই ডেটাতে অন্য কোনও প্রসেসিং করতে চান, আপনি ডেটা পোস্টগ্রাজে লোড করতে পারেন, জ্যামিতির ডেটা টাইপ তৈরি করতে কনটেনটেশন সহ জিওমফ্রমেটেক্সট ব্যবহার করতে পারেন এবং তারপরে রুপে এক্সপোর্ট করতে pgsql2shp ব্যবহার করতে পারেন। এই পদ্ধতির সাহায্যে আপনাকে অন্য কলামে ভিন্ন ভিন্ন স্থান সংক্রান্ত রেফারেন্স সিস্টেমের ডেটা ধরে রাখতেও সহায়তা দেওয়া হবে, যা আপনি আকারে রফতানির আগে আপনার সমস্ত পয়েন্টকে ডিবিতে একটি সাধারণ রেফারেন্স সিস্টেমে রূপান্তর করতে ব্যবহার করতে পারেন। আমি বুঝতে পারি যে এটিতে ogr / gdal এর চেয়ে আরও বেশি পদক্ষেপ জড়িত তবে এটি আপনাকে আরও অনেক নমনীয়তা দেবে।


আমি আগে এই পদ্ধতির ব্যবহার করেছি, এবং এটি একটি ভাল উপায়। আমার মনে হয় এখানে আমার ধারাবাহিক হোঁচট খেয়ে বিশ্বস্তভাবে এক্সেল ডেটা ধরণের সনাক্ত করা হচ্ছে ....
fmark

1
আমি মনে করি আপনি প্রথমে আপনার কলামগুলি পুনরায় সাজানোর জন্য এক্সেল ভিবিএতে কিছু লিখতে পারেন তাই সেই তারিখ, x, y সর্বদা প্রথম 3 টি কলাম ছিল। কোনও ধরণের কলাম নামকরণের কনভেনশন ছাড়া, আমি মনে করি আপনি কী মনে রেখেছেন তা সম্পূর্ণ স্বয়ংক্রিয়ভাবে করা কঠিন হবে difficult
জন পাওয়েল

1

আপনার সিএসভি ফাইলগুলি স্প্যাটিইলাইটে লোড করা এবং তারপরে কোনও আকারে ফাইলে রফতানি করতে ওজিআর বা কিউজিআইএস ব্যবহার করার বিষয়ে কী।

http://www.gaia-gis.it/spatialite-2.2/index.html

এমনকি আপনি স্থানিক স্থান থেকে সরাসরি একটি শেফফাইলে রফতানি করতে পারেন।

http://www.gaia-gis.it/spatialite-2.2/spatialite-2.2_tutorial.html#t3.1


স্পটালাইটাইট এক্সেল ফাইলগুলি সরাসরি পুরানো .xls ফর্ম্যাট (এক্সেল 97-2003) এর ক্ষেত্রে আমদানি করতে পারে। X এবং Y স্থানাঙ্কগুলি প্রাথমিক আমদানির পরে এসকিউএল এর সাথে আন্তঃ জ্যামিতিগুলিতে রূপান্তর করতে হবে।
ব্যবহারকারী 30184

জাভা ব্যবহার করে আপনি যদি আপত্তি না পান তবে আপনি এক্সও ফাইলগুলি ছিঁড়ে ফেলার জন্য পিওআই প্রকল্পটি ব্যবহার করতে পারেন এবং তারপরে নতুন শেফফিলটি লিখতে জিওটুলগুলি ব্যবহার করতে পারেন
TheSteve0

0

আরও মৌলিক রূপান্তরের জন্য আপনি এফএমই ২০১৩-তে 2DPointreplacer ট্রান্সফর্মার ব্যবহার করতে পারেন You আপনাকে X এবং Y মানগুলি কোন কলামে অবস্থিত তা নির্দেশ করতে হবে এবং তারপরে এফএমই এই মানগুলিকে উদাহরণস্বরূপ পয়েন্ট সহ একটি আকারের ফাইলে রূপান্তরিত করবে।
কলামের নাম এবং প্রকারগুলি প্রয়োজনীয় হিসাবে সেট করা যেতে পারে

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