Cartografia

כיצד עובד

בפעם הקודמת דיברנו על כמה קריטריונים למה 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 50000000

IMAGEPATH "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, הנה אני משאיר את הקישור הדוגמאות העיקריות.

גולגי אלוורז

סופר, חוקר, מומחה במודלים לניהול קרקעות. הוא השתתף בהמשגה והטמעה של מודלים כגון: מערכת לאומית לניהול נכסים SINAP בהונדורס, מודל ניהול של עיריות משותפות בהונדורס, מודל משולב של ניהול קדסטרים - רישום בניקרגואה, מערכת ניהול הטריטוריה SAT בקולומביה . עורך בלוג הידע Geofumadas מאז 2007 ויוצר האקדמיה AulaGEO הכוללת יותר מ-100 קורסים בנושאי GIS - CAD - BIM - תאומים דיגיטליים.

מאמרים נוספים

תגובות 3

  1. שלום,

    אני מנסה לקרוא שכבה מ .map כדלקמן:

    שכבה
    NAME test_houses
    נקודת סוג
    אונקר
    CONNECTION #"virtual.ovf"
    "

    xxxxx
    EXEC…….
    eess_id
    wbbPoint
    WGS84

    "

    הבעיה שלי היא ששירות ה-DSN גורם לבעיות: כשמבקשים GetCapabilities הוא מחזיר את סיסמת מסד הנתונים... האם אני יכול לעשות קריאה לקובץ כדי להימנע מ"מסירת" הסיסמה או שזו שגיאת DSN???? תודה!

  2. MapServer הוא פרויקט קוד פתוח פופולרי שמטרתו להציג מפות מרחביות דינמיות דרך האינטרנט. כונן נטען הוא כונן שמופו לתיקייה ריקה באמצעי אחסון המשתמש במערכת הקבצים NTFS. כוננים מותקנים פועלים כמו כל כוננים אחרים, אך הם מוקצים נתיבי כונן במקום אותיות כונן.

השאירו תגובה

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

לחצן חזרה למעלה