בניה, פרסום ושימוש ב-Gp Services לניתוחים ברשת
כלי ה-GeoProcessing בסביבת ה-Pro נותנים כלי ניתוח חזקים וידידותיים לביצוע ניתוחים גאוגרפיים. השימוש ב- Model Builder או בשפת פיתון מאפשר לבנות ניתוחים מורכבים תוך שימוש בכלי ה-GP כאבני בנין.
ניתוח מורכב שפותח על ידי מומחה, זמין בשלב הראשוני רק למומחה המפתח. בעזרת הפיכה לכלי Gp Service אנחנו מנגישים אותו לכל מי שיכול לגשת אליו ב- web גם מתוך כלי הPro אבל גם מדפדפן פשוט או ממגוון כלי esri אחרים וגם מכלים חיצוניים שיכולים לקרוא לו דרך ממשק rest.
הצעדים הפשוטים לייצור ופרסום Gp Service
- כתיבת קוד פיתון מתאים
- הגדרתו ככלי GP סטנדרטי בפרו – הכתבת הפרמטרים
- הרצה ובדיקת הכלי בפרו.
- הגדרות הפרסום
- אנליזה מקדימה לפרסום ופתרון בעיות
- פרסום
כתיבת קוד פיתון מתאים
קוד פיתון יכול להשתמש בכל פקודות ה-GP הקיימות ובנוסף בפונקציות פיתון מיוחדות לסביבת arcgis. בנוסף יכול להשתמש גם במגוון ספריות ציבוריות שקיימות לפיתון.
פיתון היא שפת open source שקיימים לה מגוון עצום של ספריות חופשיות לביצוע כל משימה שתעלו בדעתכם.
בנוסף היא שפה פשוטה יחסית שלא מחייבת ידע מעמיק בתכנות. סיסטמטיקס מציעה קורס פיתון המלמד להשתמש בספריה הייעודית של arcgis – ספרית arcpy.
שימוש בשכבות בזיכרון (שימוש ב memory בתוך הפיתון) מומלץ מאוד בעיקר בכלים שצריכים להתפרסם באינטרנט.
בדוגמא שלנו נכתב מראש כלי פיתון פשוט שבודק את מספר הישובים הכללי במרחק נתון מסביב לנקודה ומחזיר את מספר הישובים עם מעל 1000 תושבים (ישובים גדולים) ואת מספר הישובים הקטנים.
הגדרה ככלי בפרו
בתוך הפרו אפשר ליצור Toolbox חדש ובתוכו לייצר כלי GP חדש. ניתן להגדיר פרמטרים מסוגים שונים עם מגבלות מסוימות שיחייבו את המשתמש להכניס פרמטרים נכונים.
באם רוצים לאפשר למשתמש לבחור נקודה על המסך (מה שמקובל בכלים שמפורסמים ל web) יש צורך להגדיר את הפרמטר כ Feature Set
הכלי יכול להסתיר מהמשתמש הסופי את מיקום השכבות שעליהן מתבצע הניתוח (כמו למשל שכבת DTM לניתוחי גובה, שכבת אזורים סטטיסטיים וכדומה). המשתמש רואה את התוצאה הסופית בלי לראות או לגשת בצורה כלשהי למידע המשמש בסיס לניתוח.
בדוגמא שלנו הפרמטר הראשון הוא נקודה שמוכנסת דינאמית, השני הוא מרחק החיפוש. הפרמטר השלישי יכיל את התוצאה והוא מסוג derived כך שהוא לא מופיע כפרמטר בהרצה בפרו.
הרצה ובדיקות
מריצים, נותנים פרמטרים מתאימים ובודקים שהכלי ביצע את מה שרצינו.
הגדרות הפרסום
כאשר מבקשים לפרסם כלי עולה רשימת ההיסטוריה של הרצת הכלים וצריך לבחור את ההרצה שמתוכה יתבצע הפרסום. בתוך ההרצה יש את כל האינפורמציה הדרושה לפרסום.
מומלץ לפחות בשלב הפרסום לאפשר שליחת הודעות למסך ברמת info במקום ברירת המחדל שהיא warning כדי לאפשר לראות הודעות ביקורת מהתוכנית. ניתן לשנות זאת בשלב מאוחר בלי לפרסם מחדש.
אנליזה
בדרך כלל תצטרכו לתת תיאור לפרמטרים כי אין כאן ברירת מחדל. לחיצה ימנית על כל שגיאה או התראה תיתן בכל מקרה עזרה על הבעיה ולפעמים גם אופציה לתיקון.
אחת ההתראות הנפוצות (שאינה מונעת פרסום) היא שהמידע יועתק לתוך השרת (ייהפך ל hosted). לעיתים זה מה שאנחנו רוצים שיקרה. במידה ולא, עלינו לייצר בפורטל data store שינגיש את מיקום המידע שלנו (ספריה או Database) לפורטל. במידה והאנליזה מוצאת שהמידע יושב בתוך אחד מה data store (בשפה אחרת, שמקור המידע הוא registered in the server) היא לא תעתיק את המידע אלא תשאיר לינק אליו ותשתמש בשכבה המעודכנת.
פרסום
לוקח קצת זמן ובסוף מתפרסם.
שימוש בכלי ה-Gp Services בתוך הפורטל
הכלי החדש מופיע כ item בתוך הפורטל וניתן להחליט מי יכול לגשת אליו בדיוק כמו כל item אחר, להכניס תיאורים ומילות מפתח לחיפוש שלו.
בפרו
מתוך הקטלוג עוברים לפורטל, מוצאים את הכלי ומפעילים אותו. נראה בדיוק כמו כלי מקומי למעט הודעות התחלה וסיום מעט שונות וציור קטן של ענן ברשימת ההיסטוריה לאחר ההרצה.
מתוך REST
לכלי נוצר אוטומתית דף הרצה סטנדרטי המאפשר לתת את הפרמטרים ולהריץ. נוח מאוד לבדיקת בעיות.
מתוך WebApp
לאחר יצירת webmap ניתן לפרסם אותו לאפליקציית web app builder
אפליקציה זאת מכילה GeoProcessing widget המאפשר לקרוא בצורה ידידותית לכל gp service
מה קורה בשרת בהרצה
עבור כל הרצה נוצרת ספריה ייחודית בתוך ספרית ה jobs. בתוך ספריה זאת קיים scratch Folder בתוכו ניתן לשמור קבצי ביניים של rasters או shape ובנוסף scratchGDB שגם בו אפשר לשים שכבות.
כאמור לשכבות וקטוריות רצוי להשתמש ב memory שהוא fgdb שתמיד קיים ואין צורך לנהל אותו.
לסיכום,
כתיבת סקריפטים בפיתון היא דרך יחסית קלה להפעלה של כלי הניתוח של פרו ומימוש אלגוריתמים מורכבים. עדיין מימוש כזה מיועד למומחים לניתוחים הספציפיים שגם מכירים את כלי הניתוח של פרו ובעלי ידע בסיסי בפיתון.
הפצה של הניתוחים לכלל הארגון ככלי GP בתוך toolbox תלויה ברישיון פרו מקומי.
באמצעות תהליך לא מורכב של פרסום לאינטרנט ניתן להפוך את הכלי שמממש את האלגוריתם לזמין לשימוש בכל סוגי הלקוחות בלי שהם יצטרכו להבין באלגוריתם עצמו, בכלי הניתוח הבסיסים ובשפת פיתון ובלי גישה למידע שמשמש כבסיס לניתוח.
בדרך זאת ניתן להפיץ את הידע של המומחה כלל הארגון בצורה פשוטה ומהירה.