1. 程式人生 > >OpenLayers專案分析(五) 資料解析以GML為例

OpenLayers專案分析(五) 資料解析以GML為例

前面也提到過,OpenLayers設計是符合標準的,有良好的框架結構和實現機制,非常值得學習。OpenLayers支援的格式比較多,有XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS等。這回主要以GML為例來看OpenLayers 資料的解析過程。
  先來了解一下GML:
  GML (Geography Markup Language)即地理標識語言,它由OGC(開放式地理資訊系統協會)於1999年提出,目前版本是3.0。GML是XML在地理空間資訊領域的應用。利用GML可以儲存和釋出各種特徵的地理資訊,並控制地理資訊在Web瀏覽器中的顯示。地理空間網際網路絡作為全球資訊基礎架構的一部分,已成為Internet上技術追蹤的熱點。許多公司和相關研究機構通過Web將眾多的地理資訊源整合在一起,向用戶提供各種層次的應用服務,同時支援本地資料的開發和管理。GML可以在地理空間Web領域完成了同樣的任務。GML技術的出現是地理空間資料管理方法的一次飛躍。

  介紹一篇文章:GML3.0的WebGlS研究
  我們從總體上來把握一下OpenLayers對於GML資料的解析,首先通過呼叫得到GML文字資料,然後通過Formate.GML類的read方法來解析這個文字,解析得到Geometry物件,然後Geometry物件用相應的渲染器畫出來。其實解析得到還是那些基本的Point呀、LineString呀之類的Geometry物件,就是我們在地圖上看到的那些內容。
  下面看其實現過程:
  //read()函式讀取資料,獲取特徵列

[程式碼]js程式碼:

01 read: function(data) {
02 if(typeof data == "string") {
03 data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
04 }
05 var featureNodes = this.getElementsByTagNameNS           (data.documentElement,this.gmlns,   this
.featureName);
06 var features = [];
07 for(var i=0; i<featureNodes.length; i++) {
08 var feature = this.parseFeature(featureNodes[i]);
09 if(feature) {
10 features.push(feature);
11 }

相關推薦

【轉】OpenLayers專案分析 資料解析GML

前面也提到過,OpenLayers設計是符合標準的,有良好的框架結構和實現機制,非常值得學習。OpenLayers支援的格式比較多,有XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS等。這回主要以GML為例來看OpenLayers 資料的解析過程。   

OpenLayers專案分析 資料解析GML

前面也提到過,OpenLayers設計是符合標準的,有良好的框架結構和實現機制,非常值得學習。OpenLayers支援的格式比較多,有XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS等。這回主要以GML為例來看OpenLayers 資料的解析過程。

Netty原始碼分析 ----- 資料如何在 pipeline 中流動

在上一篇文章中,我們已經瞭解了pipeline在netty中所處的角色,像是一條流水線,控制著位元組流的讀寫,本文,我們在這個基礎上繼續深挖pipeline在事件傳播 Unsafe 顧名思義,unsafe是不安全的意思,就是告訴你不要在應用程式裡面直接使用Unsafe以及他的衍生類物件。 netty官方

spring4.2.9 java專案環境下ioc原始碼分析——refresh之obtainFreshBeanFactory方法@3預設標籤import,alias解析

接上篇文章,到了具體解析的時候了,具體的分為兩種情況,一種是預設名稱空間的標籤<bean>;另一種是自定義名稱空間的標籤比如<context:xxx>,<tx:xxx>等。先看下預設的名稱空間的標籤解析。protected void par

資料分析

週末,終於閒了下來。突然想起資料分析的知識還沒整理完。好吧,廢話就不多說了,我們繼續總結相關的知識點。 前面學了series和dataframe,今天我們先說說他們的運算: 【重要】 使用Python操作符:以行為單位操作,對所有行都有效。(類似於numpy中二

創業公司做資料分析微信分享追蹤系統

  作為系列文章的第五篇,本文重點探討資料採集層中的微信分享追蹤系統。微信分享,早已成為移動網際網路運營的主要方向之一,以Web H5頁面(下面稱之為微信海報)為載體,利用微信龐大的好友關係進行傳播,實現宣傳、拉新等營銷目的。以下圖為例,假設有一個海報被分享到了

Hadoop學習筆記—20.網站日誌分析專案案例資料清洗

網站日誌分析專案案例(二)資料清洗:當前頁面一、資料情況分析1.1 資料情況回顧  該論壇資料有兩部分:  (1)歷史資料約56GB,統計到2012-05-29。這也說明,在2012-05-29之前,日誌檔案都在一個檔案裡邊,採用了追加寫入的方式。  (2)自2013-05-

【ML專案】基於網路爬蟲和資料探勘演算法的web招聘資料分析——資料獲取與處理

前言 這個專案是在學校做的,主要是想對各大招聘網站的招聘資料進行分析,沒準能從中發現什麼,這個專案週期有些長,以至於在專案快要結束時發現網上已經有了一些相關的專案,我後續會把相關的專案材料放在我的GitHub上面,連結為:https://github.com/

Linux核心分析系統呼叫過程解析

禹曉博+ 原創作品轉載請註明出處 + 歡迎加入《Linux核心分析》MOOC網易雲課堂學習 一、系統呼叫流程分析         系統呼叫系統呼叫就是使用者空間應用程式和核心提供的服務之間的一個介面。由於服務是在核心中提供的,因此無法執行直接呼叫;相反,我們必須使用一個程序

Giraph 原始碼分析—— 載入資料+同步總結

作者|白松 關於Giraph 共有九個章節,本文第五個章節。 環境:在單機上(機器名:giraphx)啟動了2個workers。

Jmeter源碼之HTTP Request Sampler分析

Jmeter界面: 數據:{HTTPsampler.Arguments == {"loginProtectStatus": $ {loginProtectStatus},"password": "${movepassword}"}(),TestEle

Spring試圖解析

節點 con 技術 OS pos pri resolve ima bubuko 1.首先創建一個類:繼承MultiActionController類 2.試圖解析器第一種方法:BeanNameViewResolver,id跟你類裏返回的一樣 3.下面是XML試圖解析

需求分析5.13

更新 英雄 外部 誤差 遊戲界面 標準 嵌入 結算 動手    項目文檔:需求規格說明書 1.引言   1.1編寫目的:   本文檔旨在為遊戲下階段的設計、開發提供依據和指導,為項目組成員對需求的詳盡理解,以及在開發遊戲項目中協同工作提供強有力的保證。同時本文檔也作為項目評

spring boot 2.0 源碼分析

pen div shutdown down etc messages servle started fec 在上一篇文章中我們詳細分析了spring boot是如何準備上下文環境的,今天我們來看一下run函數剩余的內容。還是先把run函數貼出來: /**

Spring源碼分析獲取Document

規則 一個 自定義 trac tst nload indexof get t對象 摘要:本文結合《Spring源碼深度解析》來分析Spring 5.0.6版本的源代碼。若有描述錯誤之處,歡迎指正。 這一篇開始進行Document加載了,XmlBeanFactoryR

Spring源碼分析註冊解析的BeanDefinition

emp int style ash table 針對 全局變量 我們 名稱 摘要:本文結合《Spring源碼深度解析》來分析Spring 5.0.6版本的源代碼。若有描述錯誤之處,歡迎指正。 對配置文件解析完成後,獲取的beanDefiniton已經可以進行使用了,

Flume NG原始碼分析使用ThriftSource通過RPC方式收集日誌

上一篇說了利用ExecSource從本地日誌檔案非同步的收集日誌,這篇說說採用RPC方式同步收集日誌的方式。筆者對Thrift比較熟悉,所以用ThriftSource來介紹RPC的日誌收集方式。 整體的結構圖如下: 1. ThriftSource包含了一個Thrift Server,以及一個

OpenCV學習筆記31KAZE 演算法原理與原始碼分析KAZE的原始碼優化及與SIFT的比較

  KAZE系列筆記: 1.  OpenCV學習筆記(27)KAZE 演算法原理與原始碼分析(一)非線性擴散濾波 2.  OpenCV學習筆記(28)KAZE 演算法原理與原始碼分析(二)非線性尺度空間構建 3.  Op

GCC原始碼分析——指令生成

原文連結:http://blog.csdn.net/sonicling/article/details/8246231 一、前言   又有好久沒寫了,的確很忙。前篇介紹了GCC的pass格局,它是GCC中間語言部分的核心架構,也是貫穿整個編譯流程的核心。在完成優化處理之

YOLOv2原始碼分析

文章全部YOLOv2原始碼分析 0x01 make_convolutional_layer 終於又回到了make_convolutional_layer這個函式 //make_convolutional_layer