জিওজেএসনে। এসভিজি ফাইল রূপান্তর করার পদ্ধতি


12

প্রশ্ন

আমি কীভাবে কোনও এসভিজি ফাইলকে জিওজেএসএন ফরমেটে রূপান্তর করব?

কাঙ্খিত ফলাফল:

আমি D3.js এর মতো কিছু ব্যবহার করে বা অন্য লাইব্রেরির বাইরে কোরোলিথ মানচিত্র তৈরি করতে চাই।

চ্যালেঞ্জ:

আমার কাছে একটি এসভিজি ফাইল রয়েছে যা আমি নির্দিষ্ট দেশের একটি নির্দিষ্ট প্রদেশের প্রশাসনিক অঞ্চলগুলির পাবলিক ডোমেইন থেকে পেতে সক্ষম হয়েছি। আমার বিশ্বাস আমি যে লাইব্রেরি সম্পর্কে সচেতন সেগুলি এটি ব্যবহার করার আগে আমার এটি জিওজেএসনে রূপান্তর করা দরকার to


2
নির্দিষ্ট দেশের বিশেষ প্রদেশের প্রশাসনিক অঞ্চলগুলি কী? আমরা ভুল সমস্যা সমাধানের জন্য লড়াই করার পরিবর্তে এসএইচপি বা জিওজসন উপলভ্য ফাইলগুলি সন্ধান করতে সহায়তা করতে পারি।
থমাস জি 77

উত্তর:


5

আমি সবেমাত্র একটি লাইব্রেরি লিখেছি যা একটি এসভিজি চিত্রকে (কিছুটা ভুল) জিওজেএসনে রূপান্তর করে।

svg2geojson

এটি আপনার দুটি এসএমএল ট্যাগ যুক্ত করতে একটি লম্বা / দীর্ঘের সাথে একটি এসভিজি অবস্থান সংযুক্ত করার জন্য আপনার এসভিজি হ্যান্ড-এডিট করে এবং ফাইলটি রূপান্তর করতে এটি একটি কমান্ড-লাইন সরঞ্জাম সরবরাহ করে। এটি এমনকি, যদি আপনি চান, সমস্ত শীর্ষ স্তরের গোষ্ঠীও নেবে (যা ইলাস্ট্রেটর তার স্তরগুলি রফতানি করে) এবং তাদের আলাদা ফাইল হিসাবে রফতানি করে।

ব্যবহার

# First, install Node.js

$ npm install svg2geojson -g  # install globally for easy access to executable

$ svg2geojson -h
Usage: svg2geojson [options] file.svg

Options:
 -t, --tolerance=0.1 Distance (world meters) to sample curves to. (default: 0.1)
 -l, --layers        Split top-level groups into separate files. (default: one file)
 -o, --stdout        Output GeoJSON to stdout. (default: write files with names based on the SVG/layer)
 -m, --minimal       Make the GeoJSON as small as possible (not pretty).
 -p, --precision     Number of decimal places to format JSON numbers to. (default:6, as GeoJSON recommends)
 -d, --debug         Include ids for each SVG element in the features. (default: no properties)
 -v, --version       Output the version of svg2geojson as the first line on stdout (0.7.0).
 -h, --help          Show this help message.

$ svg2geojson my.svg
Wrote my.geojson

সীমাবদ্ধতা

  • একটি নিষ্পাপ / ভুল আন-প্রজেকশন প্রযুক্তি ব্যবহার করে যা ধরে নেয় যে চিত্রের একটি আয়তক্ষেত্রাকৃতির অঞ্চলটি আয়তক্ষেত্রাকার ল্যাট / দীর্ঘ অঞ্চলের সাথে মিলে যায়। উদাহরণস্বরূপ, সান ফ্রান্সিসকো কাছাকাছি আধ মাইল লম্বা প্রায় 1 মাইল প্রশস্ত একটি আয়তক্ষেত্রে নীচের প্রান্তটি শীর্ষ প্রান্তের চেয়ে প্রায় 4 ইঞ্চি দীর্ঘ। এটি আমার প্রয়োজনের জন্য যথেষ্ট কাছে ছিল।

  • বর্তমানে SVG সমর্থন করে না যা চতুর্ভুজীয় Bézier বা উপবৃত্তাকার চাপ কমান্ড সহ পাথ ব্যবহার করে। (আমি এগুলি যুক্ত করার জন্য কাজ করছি))


আপনি যদি 2 / এর পরিবর্তে 3 পয়েন্ট দিয়ে জিওরফারেন্স চান / করতে চান তবে সেই ভাণ্ডারটির একটি টান অনুরোধে ডিসেম্বরের 2017 এর সংস্করণটিও কাজ করে both ছত্রখান। এসভিজি থেকে জিওজেএসন-তে সম্পত্তি যুক্ত করতে আরও কিছুটা কাজ নেওয়া উচিত ছিল। ভবিষ্যতে যদিও ব্যবহার করার জন্য উন্মুখ। শান্ত মডিউল জন্য ধন্যবাদ।
ঠাণ্ডা

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

আমি লাইব্রেরি পরীক্ষা করেছি। আমি বুঝতে পারি যে কোনও ভূ-স্থল সীমানা আয়তক্ষেত্রের মধ্যে এসভিজি পয়েন্টগুলির রূপান্তর মাধ্যমে রূপান্তর ঘটে। তবে এটি 4 পয়েন্ট তোলে (অর্থাত্ বাম দ্রাঘিমাংশ = "0.1617178" শীর্ষস্থানীয় ক্ষেত্র = "23.4999998" ডান দৈর্ঘ্য = "15.9990339" নীচের অংশীদ = "11.694295")। দুটি এক্সএমএল ট্যাগ, সব মিলিয়ে 8 বিটের ডেটা এবং প্রোগনোজের ডকুমেন্টেশন আমাকে পুরোপুরি বিভ্রান্ত করেছে যে <p5:GeoItem Longitude="22.1471203091967" Latitude="44.2498454806746" X="0" Y="1" /> এই 4 টি জিওকোর্ডিনেটস কীভাবে এই 8 আইটেম ডেটা সেটে অনুবাদ করতে পারে?
জেরোম

4

নীচে উল্লেখ করা হয়েছে ফ্রোগ্জের একটি কমান্ড-লাইন সরঞ্জাম যা আমি চেক আউট করিনি:

/gis//a/245085/35596


এখানে যে যে কারও কাছেই উত্তরটির উত্তর: "এটি বেশ কঠিন (কমপক্ষে অভিজ্ঞ প্রোগ্রামার তবে অভিজ্ঞ অভিজ্ঞ কার্টোগ্রাফারের জন্য)"। এর জন্য স্প্যাসিয়াল রেফারেন্স সিস্টেমগুলি (এসআরএস) কীভাবে কাজ করে তার একটি অধিক-স্তরীয় বোঝার প্রয়োজন। আপনার .SVG কে কিজিআইএস এর মতো কিছু ব্যবহার করে আপনার জিওকোড করার প্রয়োজন কমবেশি। কীভাবে হয়? তবুও কোনও ক্লু নেই। তবে উত্তরটি হ'ল:

"আপনি কেবল এসভিজিকে জিওজেএসনে রূপান্তর করতে পারবেন না, কারণ এসভিজি মৌলিক জিও উল্লেখগুলি অনুপস্থিত" "

আপনি যদি এগিয়ে যেতে চান তবে কীভাবে একটি ডিএক্সএফ ফাইল জিওরফারেন্স করবেন তা সন্ধান শুরু করুন।

কিউজিআইএস এফাইন রূপান্তরের জন্য প্যারামিটারগুলি কীভাবে গণনা করবেন?

জার্মানি ক্যারিলোর উত্তরটি খুব দরকারী।


1
হতে পারে এই তথ্যটি প্রশ্নের মধ্যে অন্তর্ভুক্ত করা উচিত, অর্থাৎ, এসভিজি ফাইলটি জিওরফারেন্সযুক্ত নয়। অথবা হতে পারে প্রশ্নটি হওয়া উচিত: কিউজিআইএস এর মতো কিছু ব্যবহার করে আমি একটি .SVG জিওকোড করব কীভাবে?
user55937

জিওফেরেন্সিং কি এসভিজি ফর্ম্যাটের মধ্যেই সম্ভব?
মাইকেল পেল

2
আমি ঠিক জানি না। আমার কাছে মনে হচ্ছে আপনার কাছে এসভিজি ফর্ম্যাটে একটি মানচিত্র রয়েছে যা স্কেল করার জন্য তবে কোনও এসআরএসে নয়। সুতরাং মনে হচ্ছে আপনার পরিচিত স্থানাঙ্কের সাথে কিছু গ্রাউন্ড কন্ট্রোল পয়েন্ট দরকার হবে এবং তারপরে কিছু বাস্তব সমন্বয় ব্যবস্থাতে এটি জিওরিফারেন্সের জন্য ডেটাতে কিছু রূপান্তর প্রয়োগ করুন। হতে পারে এগুলি সাহায্য করবে ?: gis.stackexchange.com/Qestions/33208/… gisforthought.com/…
user55937

1

কমান্ড লাইন সরঞ্জাম ogr2ogr এটি করতে সক্ষম হওয়া উচিত। কিছুটা এইরকম:

ogr2ogr -f "GeoJSON" dst.json src.svg

এই দুটি ফর্ম্যাটই http://www.gdal.org/ogr_formats.html সমর্থিত । যদি আপনি ogr2ogr এর সাথে পরিচিত না হন তবে এটি ডাউনলোড এবং ইনস্টল করার সবচেয়ে সহজ উপায় সম্ভবত https://trac.osgeo.org/osgeo4w/ এর মাধ্যমে ।


3
এটি সোজা সামনের দিকে নয়, ওজিআর এসভিজি ড্রাইভার কেবল একটি বিশেষ ধরণের এসভিজি সমর্থন করে যা "ক্লাউডমেড ভেক্টর স্ট্রিম সার্ভার" এবং ইপিএসজি: 3857 এ তৈরি করা হয়েছিল।
অ্যান্ড্রু হার্ভে

1

ছবিটি ডি 3 তে কোরিপলথের জন্য ব্যবহার করতে আপনাকে এসভিজি থেকে জিওজেএসনে রূপান্তর করতে হবে না, যদিও এটি অন্যান্য গ্রন্থাগারের জন্য প্রয়োজনীয় হতে পারে।

এসভিজি ফাইলে পাথ সম্পর্কিত তথ্য (আপনার মানচিত্রে প্রতিটি রাজ্য / দেশ / রাজ্য / মহকুমার জন্য কমপক্ষে একটি পথ থাকা আবশ্যক) ডি 3-তে আপনার এসভিজি চিত্রের ডেটা ম্যাপ করার জন্য যথেষ্ট।

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

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


0

আপনি যে প্রদেশটি খুঁজছেন তার জন্য আমি পরিবর্তে ফর্ম্যাটটি চেষ্টা করব । যেহেতু ডেটা পাবলিক ডোমেনের সম্ভাবনা ভাল তাই আপনি এটি খুঁজে পেতে পারেন। ব্যবহার করে দেখুন http://www.naturalearthdata.com/ বা এখানে একটি প্রশ্ন জিজ্ঞাসা করুন। তারপরে শেফিল থেকে জিওজেএসন বা টপোজেসনে রূপান্তর করুন; ম্যাপ শেপার আপনার বন্ধু। এই বিন্দু থেকে ডি 3 পৌঁছনো হওয়া উচিত (দুর্দান্ত টিউটোরিয়াল আসুন একটি মানচিত্র তৈরি করি )

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