דלג לתוכן הראשי

חיפוש ישויות בשרשרת שכבות לפי כתובת או גאומטריה

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

govmap.intersectLayers(params);

פרמטרים​

שם פרמטרסוגתיאור
addressstringמחרוזת כתובת - נקודת ההתחלה של שרשרת החיתוך, במידה והמשתמש מעוניין להתחיל לפי כתובת
geometrystringמחרוזת המייצגת את הגאומטריה בפורמט wkt - נקודת ההתחלה של שרשרת החיתוך. במידה ותועבר גם כתובת, הפונקציה תתייחס לכתובת.
layers[]objectשרשרת שכבות ממוינת לחיתוך. כל שכבה נבדקת מול הגאומטריה שהתקבלה מהשכבה הקודמת בשרשרת (או מנקודת ההתחלה, עבור השכבה הראשונה).
fields[]stringמערך של מחרוזות – שמות השדות של השכבה האחרונה בשרשרת, שהמשתמש רוצה לקבל בתשובה את הערכים שלהם.

מבנה אובייקט שכבה (layers)​

שם פרמטרסוגתיאור
layerNamestringשם השכבה
whereClausestringשאילתא לסינון הישויות בשכבה זו. אפשר לשלב תנאים מרובים באמצעות פקודת OR או AND, כאשר כל תנאי מוקף בסוגריים
useCurrentFilterbooleanהאם להתייחס למסנן הפעיל על השכבה במפה בעת הסינון
radiusnumberרדיוס בדיקת החיתוך מול השכבה הקודמת בשרשרת, במטרים (על פני הקרקע).
ערך ברירת מחדל: 0

דוגמה לחיפוש ישויות בשרשרת שכבות לפי כתובת​

מצא את השכונה בכתובת גשרון 1, אילת, וּבעזרת הגיאומטריה שתתקבל מתשאול זה, בצע חיתוך על התיכונים הנמצאים בשכונה זו.

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="https://www.govmap.gov.il/govmap/api/govmap.api.js" defer onload="initGovMap()"></script>
<script type="text/javascript">
function initGovMap() {
govmap.createMap('map', {
token: 'YOUR_API_TOKEN',
layers: ["neighborhoods_area", "school"],
showXY: true,
identifyOnClick: true,
isEmbeddedToggle: false,
background: "1",
layersMode: 1,
zoomButtons:false
});
}
function showExample(){
var params = {
address: "גשרון 1, אילת",
layers: [
{ layerName: "neighborhoods_area"},
{ layerName: "school", whereClause: "(shlav_chinuch = 'עליונה בלבד')" }
],
fields: ['shem_misgeret', 'ktovet']
};
govmap.intersectLayers(params).then(function (response) {
console.log(response);
});
}
</script>
</head>
<body>
<div id="map" style="width:600px;height:600px;"></div>
<button onClick="showExample()">Show Example</button>
</body>
</html>

תשובה:


showExample: {
"active": false,
"data": [
{
"ObjectId": 1530,
"Values": [
"תכון ברנקו וייס-אילת",
"שד התמרים"
]
}
],
"errorCode": 0,
"message": null,
"status": 0
}