כיצד לקבוע את שטח המצולע בשכבות פתוחות 3?

ואז מקבל את השטח מחושב באמצעות כדור
מאמר זה ידריך אותך בהוספת מצולע, ואז מקבל את השטח מחושב באמצעות כדור.

מצולעים הם דרך נהדרת לייצג את השטח המשוער של הארץ במפה, ולעתים קרובות מועיל לדעת את שטח המצולע שהגדרת. זה אפשרי ב- OpenLayers 3; כלי מיפוי JavaScript עצמה.

מאמר זה ידריך אותך בהוספת מצולע, ואז מקבל את השטח מחושב באמצעות כדור.

שים לב כי עליך להתקין דף OpenLayers עובד בדף אינטרנט כדי לעקוב אחר מאמר זה
שים לב כי עליך להתקין דף OpenLayers עובד בדף אינטרנט כדי לעקוב אחר מאמר זה.

שים לב שעליך להתקין דף OpenLayers עובד בדף אינטרנט כדי לעקוב אחר מאמר זה. אם אין לך, כיצד ליצור מפה באמצעות OpenLayers 3.

צעדים

  1. 1
    צור תכונת מצולע. פונקציית בונה המצולע זקוקה למערך של מערכי קואורדינטות; הגדר מערך זה במשתנה תחילה כדי שתוכל להשתמש בו מאוחר יותר. פשוט העתק את שורת הקוד הבאה אל שלך <script></script> element:.
    קואורדינטות var = = [[10, 20], [20, 30], [30, 20], [20, 10]]; var polygon_feature = חדש ol.Feature ({גיאומטריה: ol.geom.Polygon חדש ([קואורדינטות])}); 
  2. 2
    הוסף את התכונה לשכבת וקטור. כדי להוסיף את המצולע למפה, עליך להוסיף אותו למקור, אותו תוסיף לשכבת וקטור, אותו תוכל להוסיף למפה:
    var vector_layer = new ol.layer.Vector ({source: ol.source.Vector new ({features: [polygon_feature]})}) map.addLayer (vector_layer); 
  3. 3
    הפוך את הגיאומטריה של התכונה לשימוש בקואורדינטות.
    var current_projection = חדש ol.proj.Projection ({קוד: "EPSG: 4326"}); var new_projection = tile_layer.getSource (). getProjection (); polygon_feature.getGeometry (). טרנספורמציה (project_ הנוכחי, project_ new); 
  4. 4
    צור כדור לביצוע החישוב. הכדור צריך להיות בגודל כדור הארץ (צריך להיות ברדיוס של 6,3 מ 'מטר). מבחינה טכנית, לכדור יש רדיוס שווה לציר העיקרי למחצה של האליפסואיד WGS84.
    sphere var = ol.Sphere חדש (6378137); 
  5. 5
    השתמש בכדור כדי לחשב את השטח בשיטת geodesicarea (). מכיוון שהשיטה מספקת ערך במטר רבוע, חלקו במיליון כדי לקבל קילומטרים רבועים.
    var area_m = sphere.geodesicArea (קואורדינטות); var area_km = area_m / 1000/1000; console.log ('אזור:', שטח_ק"מ, 'ק"מ ²'); // קונסולה: שטח: 2317133,7166773956 ק"מ ² 
  6. 6
    בדוק שתשובת האזור הגיונית. אנו יודעים שזה נכון מכיוון שנראה שהוא בגודל זהה לאלג'יריה, ששטחה 2381,741 קמ"ר (מוויקיפדיה).

טיפים

  • אל תפחד להשתמש בתיעוד API של OpenLayers 3: למרות שזה מכריע בהתחלה, חשוב ללמוד כיצד לעשות דברים חדשים עם OpenLayers.

FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail