יותר

כיצד להשיג את קו המרכז בין שני קווים


היכן מסלול הספינה כשהיא משלוחת תמיד במרכז הערוץ האנגלי בין חופי בריטניה הגדולה וצרפת?

  1. התחלתי עם 2 מחרוזות ויצרתי הרבה נקודות על המחרוזת עם שאילתת postgis.
  2. לאחר מכן יצרתי מטריצת מרחק עם Raster/Analysis/Proximity ב- QGIS.
  3. לבסוף יצרתי סמל היבט מרשת הפלט.

האם הקו האדום הוא באמת "קו האמצע" בין שני המחרוזים הללו?

האם יש דרך יעילה יותר לעשות זאת?


אם אתה יכול להמיר את האזור שלך שבו אתה רוצה את הציר המדיאלי לגיאומטריה של שטח, אתה יכול לנסות את ST_ApproximateMedialAxis פונקציה, הבונה על השלד הישר של הגיאומטריה. הייתי אומר שזה יעיל יותר, מכיוון שזה אומר שאתה כבר לא צריך ליצור קבוצה של נקודות ביניים או אפילו להשאיר גיאומטריה וקטורית או PostGIS.


כן, הפתרון שאתה משיג הוא אכן מה שאתה מחפש - קירוב של הציר המדיאלי של הערוץ, עד לרזולוציה של הרסטר המשמש. אך למטרות מעשיות הייתי משתמש בפתרון של ריצ'רד כפי שאתה כבר משתמש ב- PostGIS. ספריית SFCGAL עליה היא בונה היא חזקה ומהירה.

אם יהיה עליך לספק פתרון שאינו מבוסס על PostGIS, הייתי מציע ללכת לפי ההגדרה של ציר מדיאלי:

  • השתמש בנקודות החוף שנוצרו כדי לבנות תרשים של Voronoi (צור מצולעים של Thiessen ב- ArcGIS).
  • המר את גבולות מצולע התא Voronoi לקווים.
  • הסר את כל הקווים המצטלבים בתוך שטח.

מה שאתה משיג הוא קו משונן, קירוב נוסף של ציר מדיאלי, שדיוקו נקבע על ידי צפיפות נקודות החוף שנוצרות.