أكثر

إنشاء دائرة نصف قطرها بالأمتار


أنا أستخدم رشيقة وبايثون.

كيف يمكنني إنشاء دائرة بشكل رشيق يبلغ نصف قطره بالأمتار؟

إذا كنت أستخدم

sampleCircle = النقطة (1،1). المخزن المؤقت (1) print sampleCircle.area

هذا ما يعيد مساحة 3.13654849055. كيف أفسر وحدة هذه المنطقة؟ قرأت أنه يمكن تفسير ذلك بالدرجات المربعة ولكني أسعى للحصول على مزيد من الشرح.

أيضًا ، كيف يمكنني إنشاء دائرة بنصف قطر محدد (بالأمتار) حول نقطة (محددة باستخدام خط الطول ، الطول)؟

أقرب مقال وجدته هو [http://comments.gmane.org/gmane.comp.python.gis/1582] لكنه يفتقر إلى أي حل ملموس


حسب التصميم ، Shapely ليست على دراية بالنظم أو الوحدات المرجعية للإحداثيات. لاستخدامها في حل مشاكل العالم الحقيقي ، يجب أن تتعلم كيفية تحويل خطوط الطول والعرض إلى نظام مرجعي محلي مستو تقريبًا (مثل طائرة ولاية أمريكية) ويجب عليك تتبع وحداتك الخاصة. أنا أستخدم pyproj للقيام بذلك ، ولكن يمكنك استخدام ما تريد. بمجرد قيامك بتحويل درجاتك الطويلة والعرضية إلى x و y متر ،النقطة (س ، ص). المخزن المؤقت (1.0). المنطقةهي المساحة بالمتر ^ 2 من دائرتك (على وجه الدقة المضلع المكون من 64 جانبًا).


بناءً على الرابط الذي قدمته (يتم تنفيذ جميع الأعمال تقريبًا هناك) ، يمكنك الحصول على مضلع يمثل تلك الدائرة (مضلع 64 جانبًا).

من functools الاستيراد الجزئي pyproj من هندسة الاستيراد الجميلة من shapely.geometry import Point from shapely.ops import transform lon، lat = -122.431297، 37.773972 # lon lat for San Francisco radius = 10000 # in m local_azimuthal_project = "+ proj = aeqd + R = 6371000 + وحدة = m + lat_0 = {} + lon_0 = {} ". تنسيق (خط الطول ، خط الطول) wgs84_to_aeqd = جزئي (pyproj.transform ، pyproj.Proj (" + proj = longlat + datum = WGS84 + no_defs ") ، pyproj.Proj (local_azimuthal_project)،) aeqd_to_wgs84 = جزئي (pyproj.transform، pyproj.Proj (local_azimuthal_project)، pyproj.Proj ("+ proj = longlat + datum = WGS84 + no_defs")،) )، float (lat)) point_transformed = transform (wgs84_to_aeqd، center) المخزن المؤقت = point_transformed.buffer (radius) # احصل على المضلع بإحداثيات خطوط الطول دائرة _poly = تحويل (aeqd_to_wgs84 ، المخزن المؤقت)


شاهد الفيديو: Heeft uw nek, schouder of hoofd pijn? Twee punten. Gezondheid met Mu Yuchun. (شهر اكتوبر 2021).