He:Import/Software

From OpenStreetMap Wiki
Jump to navigation Jump to search

exclamation mark icon

על פעולות יבוא ועריכות אוטומטיות להיות מוצאות לפועל רק על ידי אלה עם נסיון והבנה בדרך של קהילת OpenStreetMap ליצור מפות, ורק בתכנון ויעוץ זהירים עם הקהילה המקומית!
ראו Import/Guidelines ו־Automated Edits code of conduct למידע נוסף. פעולות יבוא/עריכה אוטומטית שלא יעמדו בכללים אלה עלולות להיות מבוטלות.

בתלוי בפורמט הנתונים שלך, תזדקק/י לתכנה להמרתו לפורמט OSM.

התהליך

זוהי דוגמה לאיך ניתן לבצע את תהליך היצוא. נתוני ייצוא אינדיבידואליים עשויים להיות שונים זה מזה.

  1. התבונן/י בנתוני מקור וקבע/י איך להתאים ממאפיינים בשימוש על ידי המקור לתגיות שבשימוש יישומי OSM.
  2. כתב/י תכנה חדשהצ או התאם לך תכנה קיימת לעבד את נתוני הקלט לקובץ OSM XML אחד או יותר. השתמש במזהה שלילי לצמתי גרף, דרכים(בגרף, לא בהכרח גם דרכים בשטח) ויחסים.
  3. טען/י את קובץ ה־OSM XML לתוך JOSM, ובדק/י נתונים. חזר/י על צעדים 1 עד 3 עד שהכל נראה כשורה.
  4. העלה/י את הנתונים באמצעות JOSM או כלי אחר להעלאות כמותיות.

מזהה(ID) שלילי

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

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

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

זוהי הדרך של JOSM, למשל, לעשות דברים.

יבוא נתונים

קיימות מספר דרכים להעלות נתונים בכמויות ל־OSM. לכל אחת חזקות וחולשות משלה. דבר אחד חשוב באופן מכריע - אין לבצע בדיקות מול ה־API החי. קיימים מופעי פיתוח של שרות ה־OpenStreetMap זמינים עבורך כדי לבדוק תחילה כי התהליך/שיטה/סקריפט שלך עובדים.

להלן שיטות שונות לביצוע יבוא כמותי.

דרך JOSM

אחת הצורות המוקדמות ביותר והנפוצות ביותר ליבוא כמותי היא דרך JOSM. כמה תכניות לוקחות את נתוני היבוא וממירות אותו לפורמט קובץ ה־JOSM. המשתמש/ת יכול/ה כעת לפתוח את JOSM, לטעון את הקובץ וללחוץ על כפתור ההעלאה.

שיטה זו אמינה למדי ומאפשרת למשתמש לצפות בנתונים ולטפל בהם קודם להעלאתם. החיסרון הוא שעל JOSM להיות מסוגל לטעון נתונים, דבר ההופך לבלתי־מעשי כשהנתונים מגיעי ממגה־בייטים ספורים. ניתן להשתמש בזה כד להעלות כמות רבה של נתונים (מיליוני אובייקטים) אולם, ודא/י כי ברשותך חיבור אינטרנט יציב.

אי אפשר להריץ את זה על השרת משום ש־JOSM היא תכנה אינטראקטיבית.

דרך JOSM בתמיכת osmsync

osmsync היא ספרייה להשוואת נתונים חיצוניים לאלה שכבר נמצאים ב־osm, ואז ליצור קובץ JOSM לסקירה אנושית. תכנית שירות זאת עובדת בצורה הטובה ביותר עם ערכות מידע ספציפיות מתוכננות לתחזוקה ארוכת טווח דרך osmsync.

דרך טיפול ישיר ב־API

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

באופן כללי, אין לעודד שימוש בשיטה זו.

דרך Osmosis

Osmosis היא תכנית שמבצעת טיפול כללי בנתוני OSM בין תכונותיה הרבות היא מאפשרת ישום "שינוי קובץ" במסד הנתונים. היא מבינה את פורמט OsmChange.

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

כלים כאלה מציגים הבטחה לטווח ארוך.

דרך bulk_upload.py

bulk_upload.py הוא כלי הכתוב בפיית'ון ומטרתו להחליף את bulk_upload.pl. הוא תומך ב־API v0.6, בניגוד ל־bulk_upload.pl. בדומה ל־bulk_upload.pl, הוא מאחסן התקדמות באופן אינטליגנטי. הוא מחלק את ערכות השינויים לחלקים כך שהעלאות יבוצעו במנות קטנות.

דרך upload.py

upload.py היא עדיין עוד ערכה של סקריפטים בפיית'ון להעלאת שינויים ל־OpenStreetMap, שעדיין משתמשת בAPI v0.6. המיקוד פה הוא על יכולות השיקום משגיאות רשת ומצבים בעייתיים אחרים כך שתמיד יהיה ניתן לחזור ולהמשיך בפעולת יבוא שנכשלה בלי ליצור שכפולים או תוצרי לוואי אחרים. במקום לבצע את ההעלאה במלואה בפקודה אחת סקריפטים אלה בונים בלוקים העובדים ברמה נמוכה יותר.

דרך bulk_upload.pl (שזמנו עבר)

סקריפט הפרל bulk_upload.pl היה בשימוש ליבוא עבור AND ו־TIGER ולהעלאות של כמה קווי חוף. בבסיסה, דרך זו עוקבת אחרי הקונספט של לקיחת קובץ השינויים ויישומו על מסד נתוני OSM. bulk_upload.pl אינה עובדת עוד עם הגרסה הנוכחית של הממשק (אא"כ מישהו/י יכתוב או תכתוב את התכנית מחדש כדי ליצור ערכות שינויים).

בתוך רשת שרתי OSM

מקורות נתונים גדולים (כגון TIGER) לפעמים ניתנים להעלאה מתוכנות צד לקוח בהשהיה נמוכה מאוד ורוחב פס גבוה לשרתים הראשיים של OSM.

ראו גם