របៀបដែលកម្មវិធី Mapserver ធ្វើការ
កាលពីលើកមុនយើងបាននិយាយអំពីលក្ខណៈវិនិច្ឆ័យខ្លះ MapServer និងមូលដ្ឋានគ្រឹះនៃការតំឡើង។ ឥឡូវនេះសូមមើលអ្វីដែលប្រតិបត្តិការរបស់វានៅក្នុងលំហាត់មួយជាមួយផែនទីមិត្ត Chiapas ។
កន្លែងដែលវាត្រូវបានម៉ោន
នៅពេលដែល Apache ត្រូវបានតំឡើងថតបោះពុម្ភផ្សាយ MapServer លំនាំដើមគឺជាថត OSGeo4W ដោយផ្ទាល់នៅលើ C: /
នៅខាងក្នុងមានថតឯកសារផ្សេងៗគ្នាជាមួយកម្មវិធីអាស្រ័យលើអ្វីដែលបានដំឡើងប៉ុន្តែថតសម្រាប់បោះពុម្ពផ្សាយត្រូវតែចូលខាងក្នុង apache ។ ក្នុងករណីនេះថតឯកសារហៅថាហ្គីស។
- បន្ទាប់មកនៅខាងក្នុងថតទិន្នន័យមានស្រទាប់ផតថលជាដើម។ ល។
- នៅក្នុងថតឯកសារមានពុម្ពអក្សរប្រភេទពិតដែលត្រូវបានប្រើសម្រាប់ស្លាកដែលមានផ្នែកបន្ថែម .ttf ។ នៅទីនេះផងដែរគឺជាឯកសារ txt ដែលលើកពួកវានិងមួយទៀតដែលកំណត់និមិត្តសញ្ញា។
- ហើយនៅទីបំផុតនៅក្នុង folder httdocs សូមចូលទៅកាន់ទំព័រវិបសាយដែលលើកស្ទួយសេវាកម្ម។
ទំព័របណ្ដាញ
ក្នុងឧទាហរណ៍ខ្ញុំនឹងប្រើករណីដែលបានបង្ហាញកាលពីលើកមុន។ វាមានឯកសារលិបិក្រមដែលបញ្ជូនបន្តទៅឯកសារមួយដែលមានកន្ទុយភីធីអ៊ីហើយនេះជាការលើកឡើងនូវមុខងារដែលបានតំឡើងនៅខាងលើភីភីនិងផែនទី។ ថតឯកសារផ្ទុករូបភាពភ្ជាប់ពីទំព័រ។
ប្រសិនបើយើងក្រឡេកមើលវា phtml គ្រាន់តែជាសំបកដែលបង្កើតពីតុប៉ុណ្ណោះហើយហៅទៅកាន់មុខងារផែនទី / ភីភី។ អ្នកគួរតែក្រោកឡើងដោយប្រើ៖
http://localhost/gis/gispalenque.phtml
លទ្ធផលត្រូវបានបង្ហាញដូចខាងក្រោម:
- ទៅកណ្តាលមុខងារ GMapDrawMap (),
- នៅខាងស្ដាំការហៅទៅ ផែនទីគ្រាប់ចុចរបស់ GMapDrawKeyMap (),
- របារមាត្រដ្ឋានខាងក្រោម GMapDrawScaleBar (),
- និងក្នុងករណីដែលមុខងារនៃការដាក់ពង្រាយលក្ខខណ្ឌទាក់ទងនឹងប្រអប់បញ្ជី បើ (! IsHtmlMode ()) បន្ទរ " ជាមួយនឹងការសម្រេចចិត្ត៖ ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT ។
ដំណើរការរួចហើយការបង្ហាញដូចនេះ:
ឯកសារ .map
ការរួមបញ្ចូលគ្នានៃការបោះពុម្ពផ្សាយ Mapserver គឺនៅក្នុងអ្វីដែល Apache ដំឡើងដែលផ្ញើ php តាមរយៈ ផែនទី ហើយបន្ទាប់មកចេញមកតាមរយៈសំបកនោះ។ ប៉ុន្តែវិទ្យាសាស្ត្រភាគច្រើនគឺស្ថិតនៅក្នុងឯកសារផែនទីមិនត្រូវច្រឡំជាមួយឯកសារដែលបង្កើតដោយ Mapinfo, Manifold ឬ Mobile Mapper Office ដែលមានផ្នែកបន្ថែមដូចគ្នា។
ផែនទីទាំងនេះគឺជាឯកសារអត្ថបទដែលមានផែនទីជាទម្រង់ស្គ្រីប។ ទាំងនេះអាចត្រូវបានបង្កើតជាមួយកម្មវិធីផ្ទៃតុដូចជា Quantum GIS ប្រសិនបើអ្នកកត់សំគាល់ថាមានមួយសំរាប់ផែនទីសំខាន់មួយសំរាប់ Keymap និងពីរសំរាប់ OGC wms និង wfs service ។ តោះមើលរបៀបដែលផែនទីចង្អុលដំណើរការ៖
ផែនទី
NAME PALENQUE_DEMO
ស្ថិតិនៅលើ
SIZE 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 #VIEW នៃផែនទីទាំងមូលនៃប៉េឡេន
#EXTENT 605786 1935102 608000 1938800 #SOLO ផ្នែក SEXOR 01
គ្រឿងបរិក្ខាយូនីធី
SHAPEPATH "../data"
TRANSPARENT លើ
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt
- ផែនទីបង្ហាញថាអ្នកចាប់ផ្តើមស្គ្រីប
- STATUS, ចង្អុលបង្ហាញថាតើផែនទីលំនាំដើមបើកឬអត់
- SIZE គឺជាទំហំនៃការបង្ហាញ
- SYMBOLSET បង្ហាញផ្លូវនៃនិមិត្តសញ្ញា
- EXTENT គឺជាកូអរដោនេបង្ហាញ។ និមិត្តសញ្ញា # ត្រូវបានប្រើដើម្បីធ្វើចំណារពន្យល់
- UNITS សម្រាប់គ្រឿង
- SHAPEPATH ជាផ្លូវដែលជាស្រទាប់
- ទាំងអស់នៅទីបញ្ចប់នឹងបញ្ចប់ដោយពាក្យបញ្ជា END
នៅខាងក្នុងលេខកូដចាប់ផ្តើមដោយបន្ទាត់ពាក្យបញ្ជាហើយបញ្ចប់ដោយ END ឧទាហរណ៍សម្រាប់មាត្រដ្ឋានអប្បបរមានិងអតិបរមា។ ថតរូបភាពបណ្តោះអាសន្ន:
គេហទំព័រ
MINSCALE 2000000
MAXSCALE 50000000IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
END
របារមាត្រដ្ឋាន:
SCALEBAR
IMAGECOLOR 255 255 255
ស្លាកសញ្ញា
COLOR 0 0 0
តូចតូច
END
SIZE 300 5
COLOR 255 255 255
BACKGROUNDCOLOR 0 0 0
OUTLINECOLOR 0 0 0
UNITS គីឡូម៉ែត្រ
INTERVALS 3
ស្ថិតិនៅលើ
END
ស្រទាប់បន្ទាត់បញ្ឈរ៖ ដែលចូលទៅក្នុងផ្ទៃខាងក្រោយដោយមានការពិពណ៌នានៅក្នុងបញ្ជីថា "អ័រតូតូតូ" ពីកន្លែងដែលស្ថិតនៅក្នុងថតទិន្នន័យ៖
LAYER
NAME orthophoto
METADATA
"DESCRIPTION" "OrtoFoto"
END
ប្រភេទ RASTER
STATUS OFF
ទិន្នន័យ "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
#OFFSITE 0 0 0
END
ស្រទាប់ shp នៃពហុកោណដែលបានវេចខ្ចប់ដោយផ្អែកលើលក្ខណៈវិនិច្ឆ័យលើកទិន្នន័យមួយចំនួននៅលើពុម្ព html ដោយមានស្លាកពុម្ពអក្សរគ្មានទំហំទំហំ 6 ពណ៌ខ្មៅនិងគែមពណ៌របស់សតិបណ្ដោះអាសន្ន 5 ...
LAYER
NAME sector02Zone
ប្រភេទពូល
STATUS OFF
TRANSPARENCY 50
ការដក ៦០៧៨៥២ ១៩៣៥៧០៦ ៦១០៨០៤ ១៩៣៨៨០៧ មេតាតាតា
ប្រធានបទពិពណ៌នា "" ដោយវិស័យតម្លៃ ០២ "
"RESULT_FIELDS" "ប៉ារ៉ាហ្គាយតំបន់ទំនេរ MsLink Cve_Mz Cve_Pred VALUE"
END
ទិន្នន័យ PALENQUE_SECTOR01
TEMPLATE "ttt_query.html"
TOLERANCE 5
#TOLERANCEUNITS PIXELS
LABELITEM "VALOR"
CLASSITEM "VALOR"
បើកចំហ
ថ្នាក់
SYMBOL 1
COLOR 128 128 128
OUTLINECOLOR 0 0 0
NAME "ZonaNULL"
ការពន្យល់ ([VALUE] = 0)
ស្លាកសញ្ញា
ANGLE AUTO
COLOR 0 0 0
FONT sans
TY TRUETYPE
POSITION cc
ផ្នែកមិនត្រឹមត្រូវ
BUFFER 5
SIZE 6
OUTLINECOLOR 200 200 200
END
END តម្លៃ #class 0
ថ្នាក់
SYMBOL 3
COLOR 255 128 128
#COLOR -1 -1 -1 #SIN បំពេញ
... និងបន្តរហូតដល់បិទជាមួយ
END
END # តម្លៃក្លាក
បញ្ចប់ស្រទាប់ #
ដើម្បីបញ្ចប់
ហេតុដូច្នេះហើយការធ្វើការជាមួយអ្នកធ្វើផែនទីទោះបីវាសាមញ្ញក៏ដោយវាក្លាយជាស្មុគស្មាញនិងមានកំណត់សម្រាប់ការងារធំ ៗ ពីព្រោះអ្វីៗស្ថិតនៅក្នុងផែនទី។ គុណវិបត្តិដ៏ធំបំផុតគឺថាអ្វីៗគ្រប់យ៉ាងត្រូវបានធ្វើដោយថ្មើរជើងដូចជាការកំណត់ពណ៌នីមួយៗតាមប្រធានបទហើយនោះហើយជាមូលហេតុដែលឧបករណ៍ដូចជា CartoWeb កើតឡើងដែលដំណើរការនៅលើ Mapserver ប៉ុន្តែនាំមកនូវកម្មវិធីជំនួយនិងឧទាហរណ៍ដែលមានលក្ខណៈដែលធ្វើឱ្យកំណែដើមនេះមើលទៅដូចជា នេះ readme ជាលើកដំបូង:
- ធ្វើស៊ុមដាច់ដោយឡែកដោយប្រើ AJAX ដើម្បីធ្វើឱ្យពួកគេមានភាពស្រស់ថ្លា
- ញែកកូដដោយផ្តល់ស្គ្រីបសរសេរសរសេរ .map ដោយផ្អែកលើលក្ខណៈវិនិច្ឆ័យដែលអាចកំណត់បាន
- រមូរថយក្រោយថាមវន្តដោយមិនតម្រូវឱ្យធ្វើឱ្យស្រស់ដូចជាវាត្រូវបានស្រទាប់ពន្លឺមួយ
- ការកែប្រែវ៉ិចទ័រលើបណ្តាញការសរសេរបន្ទាន់លើឃ្លាំងសម្ងាត់
- ទាញយកស្រទាប់នៅក្នុងទម្រង់វ៉ិចទ័រ
- នាំចេញទៅ Google Earth
- បង្កើត PDF នៃការដាក់ពង្រាយ
នៅក្នុងបន្ទាប់យើងនឹងមើល CartoWeb, នៅទីនេះខ្ញុំទុកតំណទៅឧទាហរណ៍ចម្បង។
មានវិធីមួយដើម្បីទទួលបានគំរូ phtml template ។ សូមអរគុណ
ជំរាបសួរ,
ខ្ញុំកំពុងព្យាយាមហៅស្រទាប់ពីផែនទី។ ដូចខាងក្រោម:
LAYER
NAME testinghouses
ចំណុចប្រភេទ
CONNECTIONTYPE OGR
ការតភ្ជាប់ #"virtual.ovf"
"
xxxxx
EXEC ……។
eess_id
wkbPoint
WGS84
"
បញ្ហារបស់ខ្ញុំគឺថាសេវា DSN បង្កបញ្ហា៖ នៅពេលស្នើសុំ GetCapabilities វានឹងត្រឡប់ពាក្យសម្ងាត់មូលដ្ឋានទិន្នន័យ... តើខ្ញុំអាចធ្វើការហៅទៅកាន់ឯកសារមួយដើម្បីជៀសវាង "ការបោះបង់ចោល" ពាក្យសម្ងាត់ ឬវាជាកំហុស DSN ???? អរគុណ!
MapServer គឺជាគម្រោងកូដបើកចំហរដ៏មានប្រជាប្រិយមួយដែលមានគោលបំណងដើម្បីបង្ហាញផែនទីតាមបែបថាមវន្តនៅលើអ៊ីនធឺណិត។ ដ្រាយដែលបានម៉ោនជាដ្រាយដែលត្រូវបានផ្គូផ្គងទៅថតទទេមួយលើភាគដែលប្រើប្រព័ន្ធឯកសារ NTFS ។ មុខងារដ្រាយដែលបានម៉ោនថាជាដ្រាយផ្សេងៗទៀតប៉ុន្តែវាត្រូវបានផ្តល់ផ្លូវដ្រាយជំនួសឱ្យអក្សរដ្រាយ។