QGIS ব্যবহার করে পয়েন্টের সেট সীমানা অঙ্কন?


9

আমার পয়েন্টগুলির একটি সেট রয়েছে যা আমি বহুভুজতে পরিবর্তন করতে চাই।

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

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

আমি অবতল হলের চেষ্টা করেছি তবে নীচের মতো দেখতে পারা বহুভুজটি পাই না,

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

এবং যখন আমি ডেনাউলে ট্রায়াঙ্গুলিটি ব্যবহার করি তখন আমার বাইরের ত্রিভুজগুলি মুছতে হবে।

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

একই কাজ করার একটি কার্যকর উপায় আছে?

আমিও উত্তল হলের চেষ্টা করেছি।

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


আপনি কি ভেক্টর -> জিওপ্রসেসিং সরঞ্জাম -> উত্তল হাল (গুলি) ... বা জিওপ্রসেসিং সরঞ্জামবক্স -> ভেক্টর জ্যামিতি সরঞ্জামগুলি -> উত্তল হাল?
দিমিত্রি বার্যশনিকভ

হ্যাঁ, আমি চেষ্টা করেছিলাম। তবে আমি ভেবেছিলাম এটি আমার প্রয়োজনীয় আকারের জন্য প্রযোজ্য নয়। আমি প্রশ্ন আপডেট করব।
স্টিফেন জ্যাকব

3
আপনার কি প্রথম চিত্রটিতে লাইনগুলি প্রদর্শিত হয়েছে বা কেবলমাত্র পয়েন্টগুলি?
Radouxju

1
আমার একটি প্রশ্ন আছে: আপনার লক্ষ্য কী? ডেটা কি প্রতিনিধিত্ব করে? নদী? রাস্তা? আমি ভীত যে আপনার যদি "এস" আকার বা বাঁকা আকার থাকে তবে তা অজগর দিয়েও চলবে না ...
কেইকো

2
@ স্টেফেনজ্যাকব - আপনার পয়েন্টগুলি কীভাবে অর্ডার করা হয়েছে? যদি তাদের ক্রমটি ঘড়ির কাঁটার দিকে বা অ্যান্টি-ক্লকওয়াইজ দিকে চলে যায় তবে প্রথমে আপনার পয়েন্টগুলি লাইনগুলিতে রূপান্তর করা সম্ভব (উদাহরণস্বরূপ SAGA এর রূপান্তর পয়েন্টগুলি লাইন (গুলি) সরঞ্জামে রূপান্তর করা এবং তারপরে লাইনগুলি একটি পোয়েগন (উদাহরণস্বরূপ লাইনগুলি বহুভুজ সরঞ্জামে রূপান্তর করা) রূপান্তর করা সম্ভব ।
জোসেফ

উত্তর:


5

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

বৈশিষ্ট্য সারণী খুলুন> প্রকাশ দ্বারা নির্বাচন করুন> "কোড" = 1

ভেক্টর> গবেষণা সরঞ্জাম> অবস্থান অনুসারে নির্বাচন করুন (নতুন নির্বাচন, ছেদ করা)

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

অ্যাট্রিবিউট টেবিলটি খুলুন> পয়েন্টের নির্বাচনটি উল্টান (ctrl + R)

ভেক্টর> গবেষণা সরঞ্জাম> অবস্থান অনুসারে নির্বাচন করুন (নির্বাচন থেকে সরান, বিচ্ছিন্ন করুন)

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

ভেক্টর> জিওপ্রসেসিং সরঞ্জাম> দ্রবীভূত করুন

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


3

আমার কাছে @radouxju এর একই ফলাফল রয়েছে।

অপারেশন:

  1. 1 টি পললাইন নির্বাচন করুন [ক্লিক ক্লিক করুন]
  2. আপনার পললাইন টেবিলটি আপডেট করুন এবং প্রতিটি বৈশিষ্ট্যে [ফিল্ড ক্যালকুলেটর] তে একটি সংখ্যা প্রভাবিত করুন
  3. একটি পললাইনকে ছেদ করে এমন পয়েন্টগুলি নির্বাচন করুন [স্থানিক জিজ্ঞাসা সরঞ্জাম]
  4. পূর্বে প্রভাবিত পললাইন মান দ্বারা নির্বাচিত পয়েন্টগুলি আপডেট করুন [ফিল্ড ক্যালকুলেটর]
  5. নির্বাচনের পয়েন্টটি রাখুন এবং এই নির্বাচিত পয়েন্টগুলিকে ছেদ করে ডেলাউন ত্রিভুজ নির্বাচন করুন [স্থানিক জিজ্ঞাসা সরঞ্জাম]
    এখানে চিত্র বর্ণনা লিখুন
    এখানে চিত্র বর্ণনা লিখুন

  6. বিন্দু নির্বাচনটি উল্টে দিন বা অন্যান্য পললাইনকে ছেদ করে এমন পয়েন্টগুলি নির্বাচন করুন [প্রকাশ দ্বারা নির্বাচন] বা [নির্বাচন উল্টান]

  7. অন্যান্য পয়েন্ট [স্থানিক ক্যোয়ারী সরঞ্জাম] এর সাথে বিরত থাকা ডেলাউনে ত্রিভুজগুলি বর্তমান নির্বাচন থেকে সরান
    এখানে চিত্র বর্ণনা লিখুন
    এখানে চিত্র বর্ণনা লিখুন

  8. [জিওপ্রসেসিং সরঞ্জাম> দ্রবীভূত] দ্বারা বৈশিষ্ট্যগুলি মার্জ করুন
    এখানে চিত্র বর্ণনা লিখুন
    এখানে চিত্র বর্ণনা লিখুন


গুরুত্বপূর্ণ : এই ফলাফলটি পাওয়ার জন্য আপনার কাছে পলাইনগুলি আবশ্যক!


ধন্যবাদ @ কেইকো আপনার উত্তরটি রেডাক্সজুর জবাবটি ব্যাখ্যা করতে দরকারী ছিল
স্টিফেন জ্যাকব

আপনি @ স্টেফেন জ্যাকবকে স্বাগতম! এটা ঠিক টিম ওয়ার্ক ছিল! ;-)
কেইকো

1

অজগর নিয়ে আপনার অভিজ্ঞতা থাকলে আপনি শেপলি লাইব্রেরিটি ব্যবহার করতে পারেন এবং দুটি লাইনের পয়েন্টগুলি থেকে বহুভুজ তৈরি করতে পারেন। উভয় লাইনের প্রারম্ভিক এবং শেষের পয়েন্টগুলি কি আপনাকে অজগরটি বলতে হবে।

from shapely.geometry import Point, Polygon, LineString
import geopandas as gpd
import pandas as pd
line1 = [(1,1),(2,1.2),(3,1)]
line2 = [(1,2),(2,2.2),(3,2)]
# you need to reverse the order of one line to make it a polygon
line2reverse = list(reversed(line2))
polgonList2 = line1 + line2reverse
Polygon(polgonList2)

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

d = {'identifier' : [1, 2],
 'name' : ["Netherlands", "Germany"],
 "line1": [[(1,1),(2,1.2),(3,1)], [(1,1),(2,1.2),(3,1)]],
 "line2": [[(1.1,2.1),(2.1,2.3),(3.1,2.2)],[(1,2),(2,2.2),(3,2)]]
}

df = pd.DataFrame(d)
def makePolygon(row):
    line2reverse = list(reversed(row["line2"]))
    return Polygon(line1+line2reverse)    
geometries = []

for index, row in df.iterrows():
    geometries.append(makePolygon(row))
crs = {'init': 'epsg:4326'} 
gdf = gpd.GeoDataFrame(df, crs=crs, geometry=geometries)
gdf.to_file('MyGeometries.shp', driver='ESRI Shapefile')

আপনি জিওপ্যান্ডাস gpd.read_file () ফাংশন ব্যবহার করে লাইন জ্যামিতিগুলি পড়তে পারেন।

সাধারণ জিআইএসে বহুভুজের শীর্ষাংশের ক্রম: ঘড়ির কাঁটা বা ঘড়ির কাঁটার দিকে

https://nbviewer.jupyter.org/gist/rutgerhofste/b01c17aa6851ea577f10c21a4c3717bc


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

1
আপনি একাধিক সরঞ্জাম ব্যবহার করতে পারেন তবে আমি জিওপান্ডার ভক্ত। Gdf.to_file ('MyGeometries.shp', ড্রাইভার = 'ESRI শেফিল') ব্যবহার করুন
রুটারএইচ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.