পাইথন ব্যবহার করে শেফফিলের সহজ থিম্যাটিক ম্যাপিং?


37

আমি আর্কজিআইএস / আর্কিপি ব্যবহার না করে পাইথনের ভৌগলিক ডেটা ভিজ্যুয়ালাইজ করতে এবং একটি মানচিত্র তৈরি করতে চাই।

ইন্টারনেটে আমি পাইথন ব্যবহার করে কীভাবে থিম্যাটিক মানচিত্র তৈরি করতে পারি তা খুঁজে পেয়েছি :

এখানে কিছু কোড রয়েছে যা আমি চেষ্টা করেছি:

import shpUtils
import matplotlib.pyplot as plt

shpRecords = shpUtils.loadShapefile('C:\\Users\\shapefile.shp')

for i in range(0,len(shpRecords)):
    x = []
    y = []
    for j in range(0,len(shpRecords[i]['shp_data']['parts'][0]['points'])):

    tempx = float(shpRecords[i]['shp_data']['parts'][0]['points'][j]['x'])
    tempy = float(shpRecords[i]['shp_data']['parts'][0]['points'][j]['y'])
    x.append(tempx)
    y.append(tempy)
    plt.fill(x,y)

plt.axis('equal')
plt.title("Testing")
plt.show()

যাইহোক, আমি যখন এটি চালাই, এটি আমাকে এলোমেলো রঙ দেয়।

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

উপরে প্রদত্ত লিঙ্কটিতে এটি খুব স্পষ্ট নয় যেখানে তিনি কেবল রঙের ব্যবহার নিয়ে আলোচনা করেন ...

আমি সম্ভবত এই কাজ করা সম্ভব অতিরিক্ত মডিউল, মত হবে ডেস্ক্রেটের এবং PySAL ?

উত্তর:


61

আমি আর্কপাইকে চিনি না, তবে পাইথনের শেফফিল এবং রাস্টার নিয়ে কয়েক বছর ধরে কাজ করি

  1. পাইথনে শেফফাইলগুলি প্রক্রিয়াকরণের জন্য, অনেকগুলি মডিউল যেমন ওজেও / ওজিআর , ফিয়োনা , পাইসল বা পাইশপ ( shpUtils তাদের মধ্যে একটি এবং সর্বাধিক ব্যবহৃত হয় না) রয়েছে এবং অন্যান্য, পাইপি: জিআইএস এবং gis.stackexchange এর উদাহরণ এবং আরও অনেক উদাহরণ দেখুন ওয়েব (কেবল ইংরেজিতে নয়)। তাদের বেশিরভাগ আরকিপির (বা আর্কিসিস্ক্রিপ্টিং) এর চেয়ে অনেক পুরানো ...
  2. রাস্টার প্রক্রিয়াকরণের জন্য আপনি মানক, ওজেও / জিডিএল ব্যবহার করতে পারেন
  3. ভূ-স্থানিক জ্যামিতিগুলির প্রক্রিয়াজাতকরণের জন্য, সুশোভিত রয়েছে
  4. জ্যামিতির চক্রান্ত করার জন্য আপনি ম্যাটপ্ল্লোলিব এবং সম্ভবত ডেসকার্টস ব্যবহার করতে পারেন , অঞ্চলগুলির জন্য ম্যাটপ্ল্লোলিবের "এক্সটেনশন", তবে আরও অনেকগুলি মডিউল পাবেন, পাইপি: প্লটটিং এবং মায়াবির মতো মডিউলগুলি 3 ডি উপস্থাপনের জন্যও (ম্যাটপ্ল্লোব এছাড়াও)
  5. ম্যাপনিকের মতো মডিউলগুলিও রয়েছে যা আপনাকে সরাসরি 1 এর সম্ভাবনা দেয়) একটি শেফফিল পড়তে হয় এবং 4) পাইকাইরো মডিউলের সাথে প্লট করা হয় ।

এর পরে, এটি জিআইএসের মতো:

  • আপনি মডিউলগুলি 1) খুলতে, শেফফিলগুলি সংরক্ষণ করতে এবং অন্যান্য মডিউলগুলির মতো নম্পতি বা স্কিপিগুলির সাথে চিকিত্সা চালিয়ে যেতে চান, যদি আপনি চান।
  • আপনি জ্যামিতিক বস্তুর (বাফার ইত্যাদি) হেরফের এবং বিশ্লেষণের জন্য সুদৃশ্য ব্যবহার করতে পারেন।
  • আপনি জ্যামিতিগুলি প্লট করতে ম্যাটপ্লটলিব ব্যবহার করতে পারেন, তবে ম্যাটপ্ল্লিটিব আপনি কী চক্রান্ত করতে চান তা জানেন না। কী প্লট করবেন (বৈশিষ্ট্য ইত্যাদি)) এবং কীভাবে তা নির্দিষ্ট করা মডিউল 1) বা 3) সহ আপনার কাজ।

আমি যদি আমার শেফফিলের একটি নির্দিষ্ট কলামটি কল্পনা করতে চাই, তবে আমি কীভাবে কোডটিতে এটি প্রয়োগ করতে পারি?

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

পাইথনের সাথে কয়েকটি উদাহরণ

এখানে চিত্র বর্ণনা লিখুন

একটি বৈশিষ্ট্যের উপর ভিত্তি করে রঙগুলি সহ ভূতাত্ত্বিক মানচিত্র (বহুভুজ শেফফাইল)

এখানে চিত্র বর্ণনা লিখুন

3 ডি পয়েন্টস (পয়েন্টজেড শেফফাইল) কোনও বৈশিষ্ট্যের উপর ভিত্তি করে রঙ সহ

এখানে চিত্র বর্ণনা লিখুন

একটি ডিইএম এবং 3 ডি পয়েন্ট (অ্যাট্রিবিউট হিসাবে জেড সহ পয়েন্ট শেফফাইল) এবং ডিইএম পৃষ্ঠায় এবং ডিএম পৃষ্ঠের উপর ছড়িয়ে থাকা রাস্টারে।

এখানে চিত্র বর্ণনা লিখুন

আসল শেফফাইলের (পললাইন শেফফাইল) অ্যাট্রিবিউটস (জিওলজিকাল ফর্মেশন = ক্রস বিভাগ) এর উপর ভিত্তি করে জেড মান এবং রঙের সাথে টপোগ্রাফিক প্রোফাইল

এখানে চিত্র বর্ণনা লিখুন

মায়াভি 2 মডিউলটি সহ ডেম (জিওটিআইএফএফ)

এখানে চিত্র বর্ণনা লিখুন

মডিউল ভিজিসের সাথে ডেম (ইএসআরআই এসসিআই গ্রিড, .asc) এবং পয়েন্ট শেফফিলগুলি (অ্যাট্রিবিউট হিসাবে z সহ)

এখানে চিত্র বর্ণনা লিখুন

Boreholes (3D, একটি অ্যাট্রিবিউট (ভূতাত্ত্বিক গঠন) উপর ভিত্তি করে রং দিয়ে একটি polylineZ এর বাফার একটি গ্রিড পৃষ্ঠ মডিউলগুলির সাথে হিসাব numpy এবং একটি পয়েন্ট shapefile (য সঙ্গে একটি অ্যাট্রিবিউট হিসাবে) থেকে matplotlib সঙ্গে, মডিউলটির ভিজ্যুয়ালাইজ visvis


16

আমি একই ধরণের সমস্যাগুলি পেয়েছি যেখানে আমি দ্রুত শেফফিলগুলি কল্পনা করতে চাই এবং আমি সর্বদা ম্যাটপ্ল্লিটিবের মতো ছোট্ট কাজটি সম্পাদনের বেশ দীর্ঘ পথ খুঁজে পেয়েছি। পরিবর্তে আমি "পাইথন জিওগ্রাফিক ভিজ্যুয়ালাইজার" মডিউল বা সংক্ষেপে জিওভিস বিকাশ করেছি। আপডেট: v0.2.0 এখন প্রচুর নতুন কার্যকারিতা সহকারে আউট।

এর সাথে শেফফাইলগুলি ভিজ্যুয়ালাইজ করা সহজ হতে পারে না:

import geovis
geovis.ViewShapefile("C:/yourshapefile.shp")

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

এখানে চিত্র বর্ণনা লিখুন

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

ব্যাকড্র হ'ল আপনার শেফফাইলটি ল্যাট / লম্বা স্থানাঙ্ক ব্যবস্থার সাথে আনপোজেক্টেড থাকতে হবে - এটি এখনও অনুমানগুলি বা রূপান্তরগুলি পরিচালনা করে না handle


14

1

2019 সালে পাইথনের শেফফাইল থেকে থিম্যাটিক মানচিত্র তৈরির সহজ উপায় হ'ল জিওপ্যান্ডস

ডকুমেন্টেশন থেকে একটি উদাহরণ: http://geopandas.org/mapping.html

import geopandas
world = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))
world['gdp_per_cap'] = world.gdp_md_est / world.pop_est
world.plot(column='gdp_per_cap')
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.