আমি যেখানে একাধিক লাইন দুটি পৃথক জিওডাটা ফ্রেমের জন্য বহুভুজকে ছেদ করে তা সন্ধান করার চেষ্টা করছি:
from shapely.geometry import Polygon, LineString
import geopandas as gpd
polygon = Polygon([(0, 0), (1, 0), (1, 1), (0, 1), (0, 0)])
line1 = LineString([(0.5, 0.5), (0.7, 0.7)])
line2 = LineString([(0.9, 0.9), (0.2, 0.6)])
poly_gdf = gpd.GeoDataFrame(geometry=[polygon])
line_gdf = gpd.GeoDataFrame(geometry=[line1, line2])
উপরের জিওডাটাফ্রেমগুলি দেখতে এটির মতো (একটির বহুভুজ রয়েছে এবং অন্যটির দুটি লাইনে আছে)। আমার কাছে মনে হচ্ছে যেন উভয় রেখা বহুভুজকে ছেদ করে:
তবে ছেদকৃত আউটপুটটি খুব বিভ্রান্তিকর:
print(line_gdf.intersects(poly_gdf))
0 সত্য
1 মিথ্যা
print(line1.intersects(polygon))
print(line2.intersects(polygon))
সত্য
সত্য
কেন geopandas
intersect
পদ্ধতিটি মানকে আলাদা আউটপুট দেয় shapely
?
আমি অ্যানাকোন্ডায় পাইথন ৩.৩.৩ এবং জিওপ্যান্ডাস ০.০.১ ব্যবহার করছি।
print(line.intersects(polygon))
এটি একটি টাইপ ছিল। আমি line1
মূলত যা বোঝাতে চেয়েছি তা উল্লেখ করতে আমি প্রশ্ন আপডেট করেছি updated
line_gdf.info
আপনার কাছে কেবল একটি একক জ্যামিতি কলাম রয়েছে তা নিশ্চিত করে। আমি স্ট্যাম্পড আমি কিছু খুঁজে পেলে অনুসরণ করব।
print(line.intersects(polygon))
আপনি এমন একটি ভেরিয়েবল অ্যাক্সেস করতে পারেন যা আমি দেখতে পারা যায় না defined আপনি কোডটি সংজ্ঞায়িত করেছেনline1
এবং এরline2
আগেও। আমি জানি না কেন এটি সত্য হবে।