MapServer應用開發平臺示例

MapServer為當前開源WebGIS的應用代表,在西方社會應用面極為廣泛,現介紹幾個基于它的開源應用平臺。

1.GeoMOOSE

?????? GeoMoose is a Web Client Javascript Framework for displaying distributed cartographic data.

Among it's many strengths, it can handle large numbers of mapping layers, all mapping display is abstracted to separate layers.? This allows for the abstraction of the maintenance and updating tasks as well.

The GeoMoose project is client-side code that uses a variety of JavaScript, XML, and DHTML technologies to interface with other web-clients. The primary target of Moose is for integration with the University of Minnesota's MapServer, but is not dependent upon it for operation. Design objectives include:

  • Code must be developed in an Services Oriented Architecture.
  • Configurability for users.
  • Easy maintenance for data owners.
  • A client interface for MapServer, but designed to be open to other server engines.
  • Targeted use cases for local governments.

?

GeoMoose treats all data layers and interface tools as services.? This makes it very easy to design and add new tools as needed.? It also makes GeoMoose a very good candidate for building links from Map based to Tabular datasets.? GeoMoose is designed around the idea of using Web based URL services as an integration method.? It's very easy to integrate in any existing Web based service to GeoMoose.? The same goes for the Toolset inside of GeoMoose.?

GeoMoose is currently built as a front end to MapServer (CGI).? Because of this, it can utilize any of the output functions that MapServer provides, including Raster, XML, and OGC compliant formats.?? Each data layer can be displayed as a raster image, a Imagemap for displaying Popups on a per layer basis, as well as be used as a basis for doing additional data requests based on polygons, or buffered elements in a layer.? OGC services such as WMS (and soon WFS) can also be used directly by GeoMoose.?? There is no need to even have a CGI service such as MapServer, if the right OGC services are available.? There is also the capability to draw in the mapping interface and use these new elements as data layers in the interface, including, using them as selection criteria.? GeoMoose is very flexible as far as what services it utilizes, while it's currently built against MapServer, other Raster based data services can also be used by GeoMoose.

In addition to the data owners managing their own publishing tasks, GeoMoose, the interface, is initialized via a XML file called a MapBook.? This MapBook can be constructed by anyone, so even the Mapping interface itself can be managed by anyone. Project leaders can build interfaces with Zoom-to controls and with only the pertinent layers being displayed.? The organization of the layers in the catalog can be grouped, turned on/off by default, have opacity applied to them, and be reordered, or stacked, in the "Z" direction.? Placement of the interface elements is also governed by the XML file.? The Services integration is also handled in the XML file, so separate services can be integrated by the non-GIS professional as well.

New capabilities are being added all the time.? There is a very good Windows install based on MS4W available for Download, with a Linux version on the way. Last Updated ( Friday, 23 January 2009 )

基于Javascript架構的MapServer開源應用系統,支持XML配置,現已基本漢化。

?

2.pmapper

??? The p.mapper framework is intended to offer broad functionality and multiple configurations in order to facilitate the setup of a MapServer application based on PHP/MapScript.

?

Functions included are:

  • DHTML (DOM) zoom/pan interface (no use of frames)
  • Zoom/pan also via keyboard keys, mouse wheel, reference map, slider
  • Easy configuration of layout and behaviour with XML config file
  • Query functions (identify, select, search)
  • Fully featured attribute search, including suggest, select boxes, etc.
  • Flexible layout of query results via JavaScript templates
  • Query results display with database joins and hyperlinks
  • Multilingual user interface - pre-defined: EN, DE, IT, FR, NL, SK, ES, RU, BR, HR, HU, ZH, JA
  • Fully XHTML 1.0 Strict compliant
  • HTML legends and various display styles of legend and layers/TOC
  • Print functions: HTML and PDF
  • DHTML pop-up windows and dialogs
  • Pop-up identify when moving with mouse over map
  • Support for point layers with data in a database supported by PEAR framework
  • Distance and area measurement function
  • Adding points of interest with labels on map
  • Start map with pre-defined zoom extent: via explicit extent or layer feature
  • Plugin API to add custom functionality
  • Various plugins: layer transparency, query result export, and more

p.mapper has been tested with MapServer version 4.0 to 5.2 under Windows, Linux, and Mac OS X.

?

3.CartoWeb

?CartoWeb is a comprehensive and ready-to-use Web-GIS (Geographical Information System) as well as a convenient framework for building advanced and customized applications.

Developed by Camptocamp SA, it is based on the UMN MapServer engine and is released under the GNU General Public License (GPL).

Written using innovative language PHP5, CartoWeb is highly modular and customizable thanks to its object-oriented architecture. It runs evenly on Windows or Unix-like platforms and shows its real power when associated to PostgreSQL/PostGIS.

Last but not least, CartoWeb may be set up as a SOAP Web Service enabling to have front-end server on one machine and data and map generation on an other.

轉載于:https://www.cnblogs.com/cnzzb/archive/2009/02/12/1388873.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/391788.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/391788.shtml
英文地址,請注明出處:http://en.pswp.cn/news/391788.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

leetcode 995. K 連續位的最小翻轉次數(貪心算法)

在僅包含 0 和 1 的數組 A 中,一次 K 位翻轉包括選擇一個長度為 K 的(連續)子數組,同時將子數組中的每個 0 更改為 1,而每個 1 更改為 0。 返回所需的 K 位翻轉的最小次數,以便數組沒有值為 0 的元素。如果…

kotlin數據庫_如何在Kotlin應用程序中使用Xodus數據庫

kotlin數據庫I want to show you how to use one of my favorite database choices for Kotlin applications. Namely, Xodus. Why do I like using Xodus for Kotlin applications? Well, here are a couple of its selling points:我想向您展示如何在Kotlin應用程序中使用我…

使用route add添加路由,使兩個網卡同時訪問內外網

route add命令格式:route [-f] [-p] [Command] [Destination] [mask Netmask] [Gateway] [metric Metric] [if Interface] 通過配置電腦的靜態路由來實現同時訪問內外網的。電腦的網絡IP配置不用變,兩個網卡都按照正常配置(都配置IP地址、子網…

基于JavaConfig配置的Spring MVC的構建

上一篇講了基于XML配置的構建,這一篇講一講基于JavaConfig的構建。為什么要寫這篇文章,因為基于xml配置的構建,本人認為很麻煩,要寫一堆的配置,不夠簡潔,而基于JavacConfig配置的構建符合程序員的編碼習慣&…

pymc3 貝葉斯線性回歸_使用PyMC3進行貝葉斯媒體混合建模,帶來樂趣和收益

pymc3 貝葉斯線性回歸Michael Johns, Zhenyu Wang, Bruno Dupont, and Luca Fiaschi邁克爾約翰斯,王振宇,布魯諾杜邦和盧卡菲亞斯基 “If you can’t measure it, you can’t manage it, or fix it”“如果無法衡量,就無法管理或修復它” –…

webkit中對incomplete type指針的處理技巧

近日在研究webkit的時候發現了一個函數 template<typename T> inline void deleteOwnedPtr(T* ptr) {typedef char known[sizeof(T) ? 1 : -1];if(sizeof(known))delete ptr; } 一開始對這個函數非常費解&#xff0c;為什么作者不直接 delete ptr; 通過上stackoverflow提…

leetcode 1004. 最大連續1的個數 III(滑動窗口)

給定一個由若干 0 和 1 組成的數組 A&#xff0c;我們最多可以將 K 個值從 0 變成 1 。 返回僅包含 1 的最長&#xff08;連續&#xff09;子數組的長度。 示例 1&#xff1a; 輸入&#xff1a;A [1,1,1,0,0,0,1,1,1,1,0], K 2 輸出&#xff1a;6 解釋&#xff1a; [1,1,1…

我如何找到工作并找到理想的工作

By Julius Zerwick朱利葉斯澤威克(Julius Zerwick) This article is about how I went through my job hunt for a full time position as a software engineer in New York City and ended up with my dream job. I had spent two years building my skills and had aspirati…

synchronized 與 Lock 的那點事

synchronized 與 Lock 的那點事 最近在做一個監控系統&#xff0c;該系統主要包括對數據實時分析和存儲兩個部分&#xff0c;由于并發量比較高&#xff0c;所以不可避免的使用到了一些并發的知識。為了實現這些要求&#xff0c;后臺使用一個隊列作為緩存&#xff0c;對于請求只…

ols線性回歸_普通最小二乘[OLS]方法使用于機器學習的簡單線性回歸變得容易

ols線性回歸Hello Everyone!大家好&#xff01; I am super excited to be writing another article after a long time since my previous article was published.自從上一篇文章發表很長時間以來&#xff0c;我很高興能寫另一篇文章。 A Simple Linear Regression [SLR] is…

ubuntu安裝配置jdk

先去 Oracle下載Linux下的JDK壓縮包&#xff0c;我下載的是jdk-7u4-linux-i586.tar.gz文件&#xff0c;下好后直接解壓Step1:# 將解壓好的jdk1.7.0_04文件夾用最高權限復制到/usr/lib/jvm目錄里sudo cp -r ~/jdk1.7.0_04/ /usr/lib/jvm/Step2:# 配置環境變量sudo gedit ~/.prof…

leetcode 697. 數組的度(hashmap)

給定一個非空且只包含非負數的整數數組 nums&#xff0c;數組的度的定義是指數組里任一元素出現頻數的最大值。 你的任務是在 nums 中找到與 nums 擁有相同大小的度的最短連續子數組&#xff0c;返回其長度。 示例 1&#xff1a; 輸入&#xff1a;[1, 2, 2, 3, 1] 輸出&…

facebook機器學習_如何為您的頁面創建Facebook Messenger機器人

facebook機器學習by Paul Pinard保羅皮納德(Paul Pinard) 如何為您的頁面創建Facebook Messenger機器人 (How to create a Facebook messenger bot for your page) When it comes to sharing your chatbot, Facebook Messenger is a must. We created a very easy step-by-ste…

Logstash配置語法及相關命令

配置結構以及插件位置 輸入插件&#xff1a; input{ … } 過濾插件&#xff1a; filter{ … } 輸出插件&#xff1a; output{ … } 數據類型 - Array users > [{id > 1,name > N1},{id > 2,name > N2}] - lists path > ["/var/log/messages"…

面試整理

SpringMVC 和Struts2的區別 1. 機制&#xff1a; spring mvc的入口是servlet&#xff0c;而struts2是filter&#xff0c;這樣就導致了二者的機制不同。 2. 性能&#xff1a; spring會稍微比struts快。spring mvc是基于方法的設計&#xff0c;而sturts 是基于類&#xff0c;…

Amazon Personalize:幫助釋放精益數字業務的高級推薦解決方案的功能

By Gerd Wittchen蓋德維琴 推薦解決方案的動機 (Motivation for recommendation solutions) Rapid changes in customer behaviour requires businesses to adapt at an ever increasing pace. The recent changes to our work and personal life has forced entire nations t…

Linux 鏈接文件講解

鏈接文件是Linux文件系統的一個優勢。如需要在系統上維護同一文件的兩份或者多份副本&#xff0c;除了保存多份單獨的物理文件之外&#xff0c;可以采用保留一份物理文件副本和多個虛擬副本的方式&#xff0c;這種虛擬的副本就成為鏈接。鏈接是目錄中指向文件真實位置的占位符。…

系統滾動條實現的NUD控件Unusable版

昨天研究了一下系統滾動條&#xff0c;準備使用它來實現一個NumericUpDown控件&#xff0c;因為它可以帶來最正宗的微調按鈕外觀&#xff0c;并說了一下可以使用viewport里的onScroll事件來獲取系統滾動條的上下點擊動作。 同時昨天還說了onScroll事件的一個問題是&#xf…

react 中渲染html_如何在React中識別和解決浪費的渲染

react 中渲染htmlby Nayeem Reza通過Nayeem Reza 如何在React中識別和解決浪費的渲染 (How to identify and resolve wasted renders in React) So, recently I was thinking about performance profiling of a react app that I was working on, and suddenly thought to set…

php變量的數據類型

一、類型 標量類型: 布爾型 整型 浮點型 字符串 復合類型: 數組 對象 特殊類型: 資源 null 1. 布爾型 true false 以下值認為是false 其他值都認為是true; 布爾值false 整型值0 浮點的0 空字符串和字符串0 空數組 空對象(只適用于php4) 特殊類型null 2. 整型 正整數和負整…