کارتوگرافی

چگونه Mapserver کار می کند

زمان گذشته ما در مورد برخی از معیارها صحبت کردیم چرا MapServer و اصول نصب. حال بیایید برخی از عملکردهای آن را در تمرینی با نقشه دوستان Chiapas ببینیم.

 geoserver maperver کجا نصب شده است

هنگامی که Apache نصب شده است، دایرکتوری انتشار به طور پیش فرض برای MapServer پوشه OSGeo4W به طور مستقیم بر روی C: /

در داخل ، پوشه های مختلفی با برنامه ها بسته به آنچه نصب شده وجود دارد ، اما پوشه برای انتشار باید داخل apache باشد. در این حالت پوشه ای به نام gis است.

  • سپس در داخل پوشه داده ها حاوی لایه ها، ارتوپدی و غیره است.
  • در پوشه etc ، قلم های نوع واقعی برای برچسب ها ، با پسوند .ttf وجود دارد. همچنین در اینجا یک فایل txt وجود دارد که آنها را بلند می کند و دیگری که علائم را تعریف می کند.
  • و در نهایت در پوشه httdocs صفحات وب که خدمات را ارتقا می دهند، می روند.
  • geoserver maperver

صفحه وب

در مثال ، من از موردی که دفعه قبل نشان داده شده استفاده می کنم. در اصل حاوی یک پرونده فهرست است که با پسوند phtml به یکی هدایت می شود ، و این به نوبه خود عملکردهای ساخته شده بر روی php و نقشه ها را افزایش می دهد. یک پوشه شامل تصاویر پیوند داده شده از صفحه است.

geoserver maperver

اگر به آن نگاه کنیم ، phtml فقط پوسته ساخته شده از جداول است و توابع mapscript / php نامیده می شود. شما باید با استفاده از:

http://localhost/gis/gispalenque.phtml

نتیجه در زیر نشان داده شده است:

  • به مرکز تابع GMapDrawMap ()،
  • در سمت راست تماس به GMapDrawKeyMap keymap ()،
  • نوار مقیاس پایین GMapDrawScaleBar ()،
  • و در مورد توابع استقرار، یک شرط در مورد لیست جعبه if (! IsHtmlMode ()) echo "  با تصمیمات: ZOOM_IN ، ZOOM_OUT ، خواننده ، QUERY_POINT.

در حال حاضر در حال اجرا، صفحه نمایش به نظر می رسد این است:

geoserver maperver

فایل های .map

ترکیبی از انتشار Maperver در آنچه آپاچی بالا می برد، است که پی اچ پی را از طریق آن می فرستد نقشه نقشه و سپس از طریق آن پوسته بیرون می آید. اما بیشتر این دانش در پرونده های .map است ، که نباید با پرونده های تولید شده توسط Mapinfo ، Manifold یا Mobile Mapper Office با همان پسوند اشتباه گرفته شود.

این .map فایلهای متنی است که حاوی نقشه به صورت اسکریپت است. اگر متوجه شوید که یکی برای نقشه اصلی ، یکی برای Keymap و دو برای سرویس OGC wms و wfs وجود دارد ، اینها را می توان با برنامه های دسک تاپ مانند Quantum GIS ایجاد کرد. بیایید ببینیم mapscript چگونه کار می کند:

MAP

NAME PALENQUE_DEMO
وضعیت در
SIZE 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 # مشاهده کل نقشه پالنک
#EXTENT 605786 1935102 608000 1938800 #SOLO بخش 01
واحد متر
شکل "../data"
شفاف بر
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt

  • MAP نشان می دهد که اسکریپت را شروع می کنید
  • وضعیت، نشان می دهد که آیا نقشه پیش فرض روی آن است یا خیر
  • SIZE اندازه صفحه نمایش است
  • SYMBOLSET مسیر نمادها را نشان می دهد
  • EXTENT مختصات نمایشگر هستند. از نماد # برای ایجاد حاشیه نویسی استفاده می شود
  • واحد برای واحد
  • شبیه سازی، مسیری که لایه ها می باشند
  • همه در پایان با دستور END پایان می یابد

در داخل، کد با یک خط فرمان شروع می شود و به پایان می رسد با END، برای مثال برای حداقل و حداکثر مقیاس؛ دایرکتوری تصاویر موقت:

WEB
  MINSCALE 2000000
  MAXSCALE 50000000

IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
  IMAGEURL "/ ms_tmp /"
END

geoserver maperverنوار مقیاس:

SCALEBAR
  IMAGECOLOR 255 255 255
  LABEL
    رنگ 0 0 0
    اندازه کوچک
  END
  SIZE 300 5
  رنگ 255 255 255
  BACKGROUNDCOLOR 0 0 0
  OUTLINECOLOR 0 0 0
  یونیتی کیلومتر
  مصاحبه 3
  وضعیت در
END

geoserver maperverیک لایه شطرنجی: از پسوندی که در پوشه داده قرار دارد ، در پس زمینه قرار می گیرد ، و یک توضیح در لیست با عنوان "Orthophoto" وجود دارد:

 

 

LAYER
  NAME orthophoto
  METADATA
    "DESCRIPTION" "OrtoFoto"
  END
  نوع Rastter
  وضعیت خاموش
  DATA "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
  #OFFSITE 0 0 0
END

tematizada لایه SHP چند ضلعی بر اساس معیارهای، بالا بردن برخی از داده ها در یک قالب HTML با یک فونت بدون برچسب، اندازه 6، لبه های سیاه و سفید بافر 5 ...

geoserver maperver

LAYER
  بخش NAME 02Zone
  نوع POLYGON
  وضعیت خاموش
  50 شفافیت
  EXTENT 607852 1935706 610804 1938807 METADATA
    "DESCRIPTION" "طرح زمینه توسط بخش ارزش 02"
    "RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred دامنه محدوده محدوده VALUE"
  END
  DATA PALENQUE_SECTOR01
  TEMPLATE "ttt_query.html"
  TOLERANCE 5
  #TOLERANCEUNITS PIXELS
  LABELITEM "VALOR"
  CLASSITEM "VALOR"
  بر روی LABELCACHE ON
  کلاس
    SYMBOL 1
    رنگ 128 128 128
    OUTLINECOLOR 0 0 0
    NAME "ZoneNULL"
    EXPRESSION ([VALUE] = 0)
    LABEL
         ANGLE AUTO
         رنگ 0 0 0
         FONT بدون
         TRYTYPE TYPE
         موقعیت مک
        
تقسیمات نادرست
         BUFFER 5
         6 اندازه
         OUTLINECOLOR 200 200 200
    END
  END #class مقدار 0
  کلاس
    SYMBOL 3
    رنگ 255 128 128
    #COLOR -1 -1 -1 #SIN FILLING

... و به همین ترتیب تا زمانی که بسته شدن با

END
  END ارزش #Class
پایان # لایه

در نتیجه

از این رو ، کار با Mapserver گرچه کاملاً ساده است ، اما برای کارهای بزرگ پیچیده و بسیار محدود می شود زیرا همه چیز در نقشه .m است. بزرگترین نقطه ضعف این است که همه کارها به صورت پیاده روی انجام می شود ، مانند تعریف هر رنگ در یک مضمون ، و به همین دلیل ابزارهایی مانند CartoWeb بوجود می آیند ، که در Mapserver کار می کند اما پلاگین ها و مثالهای داخلی را با ویژگی هایی ارائه می دهد که این نسخه ابتدایی را شبیه می کند برای اولین بار:

  • فریم های جداگانه را با AJAX بسازید تا آنها را به طور جداگانه بازخوانی کنید
  • کد را تجزیه کنید، با توجه به اینکه یک اسکریپت بر اساس معیارهای پارامتریک می نویسد .map
  • پیمایش پویای برگشت بدون نیاز به بازخوانی، همانطور که یک لایه فلش بود
  • ویرایش بردار آنلاین، نوشتن فوری در حافظه پنهان
  • لایه را در فرم بردار بارگیری کنید
  • صادرات به Google Earth
  • ایجاد پی دی اف از استقرار

در آینده ما CartoWeb را نگاه خواهیم کرد، اینجا لینک را به نمونه های اصلی ترک می کنم.

گلگی آلوارز

نویسنده، محقق، متخصص در مدل های مدیریت زمین. وی در مفهوم سازی و اجرای مدل هایی مانند: سیستم ملی مدیریت املاک SINAP در هندوراس، مدل مدیریت شهرداری های مشترک در هندوراس، مدل یکپارچه مدیریت کاداستر - ثبت در نیکاراگوئه، سیستم مدیریت منطقه SAT در کلمبیا مشارکت داشته است. . سردبیر وبلاگ دانش Geofumadas از سال 2007 و خالق آکادمی AulaGEO که شامل بیش از 100 دوره در زمینه GIS - CAD - BIM - Digital Twins است.

مقالات مرتبط

3 نظرات

  1. خوش آمدید،

    من سعی می کنم یک لایه از نقشه را تماس بگیرم، به شرح زیر است:

    LAYER
    آزمایشگاه NAME
    نقطه TYPE
    همگام سازی OTP
    اتصال #"virtual.ovf"
    "

    XXXXX
    EXEC
    eess_id
    wkbPoint
    WGS84

    "

    مشکل من این است که سرویس DSN مشکل ایجاد می کند: هنگام درخواست GetCapabilities رمز پایگاه داده را برمی گرداند ... آیا می توانم با یک فایل تماس بگیرم تا رمز عبور را "دادن" نکنم یا خطای DSN است؟؟؟؟ با تشکر!

  2. MapServer یک پروژه محبوب Open Source است که هدف آن نمایش نقشه های مکانی پویا از طریق اینترنت است. یک Drive درایو یک درایو است که به یک پوشه خالی بر روی یک حجم که از سیستم فایل NTFS استفاده می شود، نقشه برداری می شود. درایوهای نصب شده به عنوان هر درایو دیگری عمل می کنند، اما به جای درایو، مسیرهای درایو اختصاص داده می شوند.

دیدگاهتان را بنویسید:

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

بازگشت به دکمه بالا