כיצד עובד
בפעם הקודמת דיברנו על כמה קריטריונים למה MapServer ואת יסודות ההתקנה. עכשיו בואו נראה משהו מהפעולה שלו בתרגיל עם מפות החברים של צ'יאפס.
איפה הוא רכוב
לאחר התקנת Apache, ספריית ברירת המחדל של MapServer היא התיקייה OSGeo4W ישירות מעל C:
בפנים, יש תיקיות שונות עם יישומים תלוי במה שמותקן, אך התיקיה לפרסום חייבת להיכנס לאפאצ'י. במקרה זה התיקיה שנקראת gis.
- ואז בפנים, תיקיית הנתונים מכילה את השכבות, אורתופוטו וכו '.
- בתיקיה וכו 'יש את הגופנים מהסוג האמיתי המשמשים לתוויות, עם סיומת .ttf. הנה גם קובץ txt שמרים אותם ועוד אחד שמגדיר סמלים.
- ולבסוף בתיקיה httdocs ללכת דפי אינטרנט להעלות את השירות.
דף האינטרנט
בדוגמה אשתמש במקרה שהוצג בפעם האחרונה. בעצם הוא מכיל קובץ אינדקס שמפנה מחדש אל סיומת phtml, וזה בתורו מעלה את הפונקציות שנבנו על גבי php ואת המפות. תיקייה מכילה את התמונות המקושרות מהדף.
אם נסתכל על זה, ה- phtml הוא רק המעטפת הבנויה מטבלאות, וקוראת לפונקציות mapscript / php. אתה צריך לקום באמצעות:
http://localhost/gis/gispalenque.phtml
להלן התוצאה:
- למרכז את הפונקציה GMapDrawMap (),
- בצד ימין של השיחה keymap GMapDrawKeyMap (),
- סרגל קנה המידה להלן GMapDrawScaleBar (),
- ובמקרה של פונקציות הפריסה, תנאי לגבי listbox אם (! IsHtmlMode ()) מהדהד " עם החלטות: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.
כבר פועל, הפריסה נראית כך:
קבצי .map
השילוב של הפרסום Mapserver הוא במה Apache מעלה, אשר שולחת PHP דרך mapscript וזה אז יוצא מהקליפה הזו. אך עיקר המדע נמצא בקבצי .map, ואין להתבלבל עם אלה שנוצרו על ידי Mapinfo, Manifold או Mobile Mapper Office עם אותה סיומת.
.מפת. אלה הם קבצי טקסט, המכילים את המפה בצורה סקריפט. אלה יכולים להיווצר עם תוכניות שולחן עבודה כמו Quantum GIS, אם אתה מסתכל יש אחת עבור המפה הראשית, אחת עבור מפת המקשים ושתי עבור שירותי wms ו- wfs של OGC. בואו נראה איך מפות סקריפט עובד:
MAP
NAME PALENQUE_DEMO
מצב מופעל
גודל 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 # רשימה של כל מפת PALENQUE
#EXTENT 605786 1935102 608000 1938800 # סלקו את תחום 01
יחידות מידה
SHAPEPATH "../data"
שקיפות ב
תמונה 255 255
FONTSET ../etc/fonts.txt
- MAP מציין את סקריפט ההתחלה
- סטטוס, מציין אם מפת ברירת המחדל מופעלת או לא
- SIZE הוא גודל הפריסה
- SYMBOLSET מציג את הנתיב של הסמלים
- EXTENT הם קואורדינטות התצוגה. הסמל # משמש לביצוע הערות
- יחידות ליחידה
- SHAPEPATH, הנתיב שבו שכבות
- הכל בסוף יסתיים עם הפקודה END
בפנים, קוד מתחיל בשורת פקודה, ומסתיים עם END, למשל עבור קנה מידה מינימלי ומקסימלי; ספריית תמונות זמניות:
WEB
MINSCALE 2000000
MAXSCALE 50000000IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
הסוף
סרגל הסקאלה:
סקלבאר
תמונה 255 255
LABEL
צבע 0 0 0
מידה קטנה
הסוף
גודל 300 5
צבע 255 255 255
0 0
0 0
UNITS ק"מ
אינטרוולים 3
מצב מופעל
הסוף
שכבת רסטר: שנכנסת ברקע, עם תיאור ברשימה כ"אורתופוטו ", מתוך טיף שנמצא בתיקיית הנתונים:
שכבה
NAME אורתופוטו
מטא נתונים
"DESCRIPTION" "OrtoFoto"
הסוף
TYPE RASTER
סטטוס כבוי
נתונים "C: \ OSGeo4W / Apps / gis / נתונים / ortofotoGral.tif"
#OFFSITE 0 0 0
הסוף
שכבת BP של מצולעים, thematized על פי קריטריונים, הרמת כמה נתונים על תבנית HTML, עם תווית גופן Sans, גודל 6, צבע שחור וקצוות לבנים של חיץ 5 ...
שכבה
מגזר NAME02Zone
סוג פוליגון
סטטוס כבוי
שקיפות 50
היקף 607852 1935706 610804 1938807 METADATA
"DESCRIPTION" "נושא לפי מגזר ערכים 02"
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred שטח מערך VALUE"
הסוף
נתונים PALENQUE_SECTOR01
TEMPLATE "ttt_query.html"
טולרנס 5
#TOLERANCEUNITS פיקסלים
LABELITEM "VALOR"
CLASSITEM "VALOR"
מתלה על
מעמד
סמל 1
צבע 128 128 128
0 0
NAME "ZonaNULL"
EXPRESSION ([VALUE] = 0)
LABEL
ANGLE AUTO
צבע 0 0 0
FONT
TYPE TRUETYPE
POSITION עותק
צדדים שגויים
בופר 5
SIZE 6
200 200
הסוף
END # CLASS ערך 0
מעמד
סמל 3
צבע 255 128 128
#COLOR -1 -1 -1 #SIN מילוי
.... ולכן כדי לסגור
הסוף
END #Class Value
שכבת סוף #
לסיכום
לפיכך, עבודה עם שרת מפות, למרות שהיא פשוטה למדי, הופכת למורכבת ומוגבלת מאוד עבור עבודות גדולות מכיוון שהכל נמצא במפה. החיסרון הגדול ביותר הוא שהכל נעשה ברגל, כמו למשל הגדרת כל צבע בנושא, ומסיבה זו נוצרים כלים כמו CartoWeb, שעובדים ב- Mapserver אך מביאים תוספים מובנים ודוגמאות עם מאפיינים שגורמים לגרסה פרימיטיבית זו להיראות כמו ה קודם:
- עבודה נפרד מסגרות עם AJAX כדי לרענן בנפרד
- לנתח את הקוד, כל עוד סקריפט rewrites .map מבוסס על הקריטריונים parametrizable
- שינוי דינמי חזרה ללא צורך רענון, כאילו זה היה שכבת הבזק
- עריכת וקטור מקוון, מטמון מיידי לכתוב
- הורד שכבה בצורת וקטור
- ייצוא ל- Google Earth
- צור PDF מהפריסה
ב הבא ניקח מבט CartoWeb, הנה אני משאיר את הקישור הדוגמאות העיקריות.
יש דרך לקבל את הפלט הסטנדרטי בפורמט phtml, תודה
שלום,
אני מנסה לקרוא שכבה מ .map כדלקמן:
שכבה
NAME test_houses
נקודת סוג
אונקר
CONNECTION #"virtual.ovf"
"
xxxxx
EXEC…….
eess_id
wbbPoint
WGS84
"
הבעיה שלי היא ששירות ה-DSN גורם לבעיות: כשמבקשים GetCapabilities הוא מחזיר את סיסמת מסד הנתונים... האם אני יכול לעשות קריאה לקובץ כדי להימנע מ"מסירת" הסיסמה או שזו שגיאת DSN???? תודה!
MapServer הוא פרויקט קוד פתוח פופולרי שמטרתו להציג מפות מרחביות דינמיות דרך האינטרנט. כונן נטען הוא כונן שמופו לתיקייה ריקה באמצעי אחסון המשתמש במערכת הקבצים NTFS. כוננים מותקנים פועלים כמו כל כוננים אחרים, אך הם מוקצים נתיבי כונן במקום אותיות כונן.