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