當前位置:首頁 » 硬碟大全 » web直接讀取瓦片緩存
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web直接讀取瓦片緩存

發布時間: 2023-04-19 10:54:16

『壹』 WebGIS中的坐標系和瓦片地圖

本文主要介紹坐標系和瓦片地圖的相關知識, 他們是進行WebGIS開發的基礎。

坐標系分為地理坐標系和投影坐標系,他們的定義如下:
地理坐標系 (Geographic Coordinate System):
    是使用三維球面來定義地球表面位置,以實現通過經緯度對地球表面點位引用的坐標系。包括角度測量單位、本初子午線和參考橢球體三部分。

投影坐標系 (Projection Coordinate System):
    是使用基於X,Y值的坐標系統來描述地球上某個點所處的位置。它由地理坐標系和投影方法兩個要素所決定。

    地球表面是崎嶇不平的,人們為了精確表示地球表面的位置,引入了 旋轉橢球體 的概念。即用一個規則的旋轉橢球體去逼近真實的地球表面。一個旋轉橢球體的參數主要有以下三個:長半軸、短半軸、扁率。定義了這三個參數,也就唯一確定了一個旋轉橢球體。

    定義了橢球體的形狀後,還需要確定橢球體的位置。橢球體表面與真實地球表面存在差異,並且在世界的不同地區,這種差異也不盡相同。因此橢球體的定位直接決定了地理坐標與真實位置的誤差。橢球體定位就是需要確定 大地基準面 ,從而確定橢球體與地球的相對位置。有以下兩類大地基準面:

    確定了旋轉橢球體的 形狀 位置 ,那麼地理坐標系的基礎就確定了。接下來需要定義地球上任意一點的地理坐標表示方法。

    地理坐標,就是用經緯度表示地面點位的球面坐標。在大地測量學中,對於地理坐標系統中的經緯度有三種提法:天文經緯度、大地經緯度和地心經緯度。其中使用較多的是大地經緯度,其使用大地坐標(L,B,h)表示地面點在橢球面上的位置三個要素,他們的定義如下:

圖示:

    這樣就完成了地理坐標系的定義,地球上任意一點都能獲得經緯度坐標了。

    在橢球面上表示的地球上物體的坐標,會給實際使用帶來一些麻煩。更多的時候我們希望將地物展現在平面上,這時就需要引入投影坐標系的概念。

    在地球橢球面和平面之間建立點與點之間函數關系的數學方法,稱為 地圖投影
    地圖投影的一般公式為:x = F(λ,φ), y = G(λ,φ)
    確定了投影方法後,也就確定了函數F和G,只要知道地面點的經緯度(λ,φ),便可以在投影平面上找到相對應的平面位置(x,y)。

投影方法有以下幾類:

    以上兩種方法都要進行分帶投影。即按一定的間隔選取經線作為投影的中央經線,中央經線兩側一定范圍內的地區按所選中央經線進行投影。這樣做的目的是減小投影變形,方便在工程中使用。

具體的投影方法請點擊小標題查看。

    選擇一個地理坐標系,以及一個地圖投影方法,就唯一確定了一個投影坐標系,從而可以使用平面坐標表示地球上物體的位置了。

    在Web地圖領域,使用最為廣泛的坐標系統就是 WGS84 Web Mercator 。谷歌地圖、Virtual Earth、Bing Maps、網路地圖、Mapabc、ArcGIS Online等都是採用這種坐標系。作為一個投影坐標系,需要兩個基本的要素,一個是地理坐標系,還有一個是投影方法。我們分別來看:

    從名字可以看出,WGS84 Web Mercator坐標系採用的地理坐標系是WGS84坐標系,它屬於地心坐標系,坐標系的原點位於地球質心,其基本參數如下:

    從名字上可以看出,WGS84 Web Mercator坐標系的投影方法和Mercator(墨卡托)投影有關,但是這個投影方法和不是標準的墨卡托投影。他們之間的區別在於,WGS84 Web Mercator在投影時將地球橢球當做圓球看待,這會導致本來是等角投影的墨卡托投影變得不再等角了,而是近似等角,也就是出現角度變形。

    以赤道為標准緯線,以本初子午線為中央經線,分別得到X軸和Y軸。兩者的交點設為原點,規定緯度向北為正,向南為負;經度向東為正,向西為負。

對應於經緯度的范圍就是:

    討論坐標系不得不提到EPSG,EPSG的英文全稱是European Petroleum Survey Group,中文名稱為歐洲石油調查組織。這個組織成立於1986年,2005年並入IOGP(International Association of Oil & Gas Procers),中文名稱為國際油氣生產者協會。EPSG對幾乎所有常用的坐標系統都進行了編號,統一了坐標系的表示,於是我們經常會看到使用EPSG編號來指代某一坐標系。

以下是幾個常用坐標系的EPSG編號和單位:

    至於為何WGS84 Web Mercator有兩個編號,這裡面還是有一段故事的,可以去 這里 查看。

    查詢全部的EPSG編號和詳細信息請訪問 EPSG官網 。

    互聯網地圖服務,常常通過採用構建瓦片地圖的方式,加快用戶的訪問,減少數據傳輸量。具體而言,瓦片地圖就是對投影後的地圖在不同尺度(層)下進行切片,每個尺度得到的地圖切片數量不同、表示範圍不同、詳細程度不同,但是圖片的尺寸相同(一般為256*256),最終構成一個「瓦片金字塔「」。根據用戶所瀏覽的區域范圍,自動確定所要返回的切片層級,在滿足用戶查詢需求的同時,保證了地圖傳輸的效率。

    在投影坐標系的選擇上,目前主流的地圖服務提供商基本都選擇的是WGS84 Web Mercator坐標系。但是在如何對投影後的地圖進行切片並編號時,不同廠商之間存在較大的差異。

    以地圖左上角為原點,X軸向右,Y軸向下,從0開始分別進行編號。Z的取值范圍為[0, 18],在第z級別,x,y方向的瓦片個數均為:2 z 個,即x,y取值范圍是[0 , 2 z -1]。

    WMTS較為特殊,WMTS中的TileMatrix對應於z,TileRow對應於y,TileCol對應於x。編號方式和谷歌與OSM相同。

    以地圖左下角為原點,X軸向右,Y軸向上,從0開始分別進行編號。Z的編碼規則與谷歌地圖相同。

z=1時,這兩種瓦片的編號如下圖所示。

    微軟Bing地圖Z的編碼規則與谷歌相同,同一層級的瓦片不用XY兩個維度表示,而只用一個整數表示,該整數服從四叉樹編碼規則(QuadTree)。

    網路地圖的瓦片定義的方式比較獨特,原點的位置在經緯度都為0的地方,X向左為正,向右為負;Y向上為正,向下為負。切分的方式不像上述3種方法在每一級進行二等分,而是通過定義每一級的 地圖解析度 ,確定每一級應該劃分的行列數。地圖解析度的表達式為:2 18-z ,其含義是每個像素所對應的實際長度。由此,可得每一級應該劃分的行列數為:2πR/(256*2 18-z ),其中R為地球的半徑,單位是米。

參考: https://blog.csdn.net/lxxlxx888/article/details/51897838

    本文記錄了與WebGIS相關的坐標系和瓦片地圖的知識,說明了他們直接的相互關系。希望WebGIS開發者有所幫助。

『貳』 一次web請求結果存儲在哪裡

一次web請求結果存儲在在Web伺服器的內存中、在Web伺服器的磁碟上、在Web客戶端的瀏覽器緩存中、在資料庫中。
1、在Web伺服器的內存中:Web伺服器通常會將Web請求的結果存儲在內存中,以敬鉛兆便更快地響應後續請求。這種方式適用於頻繁訪問的頁面和靜態資源。
2、在Web伺服器的磁碟上:Web伺服器也可以將Web請求的結果存儲在磁碟上,以便下次請求時亮租快激答速載入。這種方式適用於動態生成的頁面和緩存的數據。
3、在Web客戶端的瀏覽器緩存中:Web瀏覽器可以將Web請求的結果緩存到本地,以便下次訪問相同的頁面時快速載入。這種方式適用於靜態資源和不經常更新的頁面。
4、在資料庫中:Web應用程序可以將Web請求的結果存儲在資料庫中,以便後續查詢和使用。這種方式適用於需要持久化存儲數據的應用程序。

『叄』 015Geoserver中使用GeoWebCache(GWC))

在geoserver1.7版本之後,geoserver本身集成了GeoWebCache模塊。本文介紹如何使用。
GeoWebCache(GWC)是一個採用Java實現用於緩存WMS(Web Map Service)Tile的開源項目。當地圖客戶端請求一張新地圖和Tile時,GeoWebCache將攔截這些調用然後返回緩存過的Tiles。如果找不到緩存再調用伺服器上的Tiles,從而提高地圖展示的速度。實現更好的用戶體驗。

a.GWC支持多種來源的瓦片,比如ArcGIS的瓦片。 (需要獨立安裝,集成的GeoWebCache不支持)
b.GWC支持多種請求,比如WMS、WMS-C、WMTS、TMS、Googl Maps KML和Virtual Earth。
c.GWC支持在第一次請求地圖某范圍時,將此范圍內的地圖按照配置的信息進行切圖緩存。第二次同樣請求此范圍的地圖時,直接讀取緩存瓦片進行加速顯示。此功能類似於AGS的動態出圖。
d.GWC同時也支持預先將瓦片按照配置信息切完,地圖載入時直接讀取瓦片。此功能類似於AGS的瓦片緩存出圖。

在GeoServer安裝目錄中找到web.xml文件,具體在目錄D:Program Files (x86)GeoServer 2.11.3webappsgeoserverWEB-INF下

點擊list選項,可以看到能夠進行切圖的服務

如果想實現類似於AGS中預先將所李毀有瓦片全部進行切圖的效果,可以點擊要進行切圖的圖層下的Seed this layer:

image
點擊Submit後,開始進行預切圖,在頁面中可以看到切圖進程:

完成之後可以在緩存路徑下看到切片內容。

geoserver可以實現動態緩存切片,具體是怎麼回事呢?

當我們的WMS請求為一般性url,是不能自動開啟瓦片緩存服務的,比如通過Layer Preview訪問:
http://localhost:8080/geoserver/QQQQ/wms?service=WMS&version=1.1.0&request=GetMap&layers=QQQQ%3AQWQWRRAAAA&bbox=1.3206822745846782E7%2C3752719.2737657893%2C1.3207662961846782E7%2C3753671.107765789&width=677&height=768&srs=EPSG%3A3857&format=application/openlayers
而當我們在Tile Layers中孝並訪問時,是可以動態緩存的。
http://localhost:8080/geoserver/gwc/demo/QQQQ:QWQWRRAAAA?gridSet=EPSG:4326&哪慎備format=image/png

當我們在geoserver中發布好服務後,是可以選擇是否預先靜態切片的。如果我們預先靜態切片了。切片內容會存放在我們配置的路徑下。通過Tile Layers來訪問,訪問的是一個個切片。如果我們沒有預先切片,我們也可以通過Tile Layers來訪問,這時也是一個個切片,但這個切片是動態生成的。生成後也會存放在我們配置的路徑下。但要注意一點,這種訪問,第一次是比較慢的。

點擊Gridsets選項創建切圖方案,點擊Create a new gridset可以創建新的切圖方案,也可以點擊現成的切圖方案右側的Create a 復制一個方案,並在此基礎上進行修改

在切圖級別設置功能區可以添加刪除一些切圖等級,點擊保存保存切圖方案

點擊保存之後,在gwc目錄下可以看見新增的一個後綴為.bak的配置文件,就是切圖方案的配置文件

『肆』 微信小程序webview的緩存問題

小程序webview的頁面緩存會影響開發中的調試和生產中的使用

1.頁面緩存由瀏覽器緩存引起,那麼可以通過設置來修改瀏覽器緩存。
可以通過nginx設置cache-control 來關閉瀏覽器緩存

2.由於是單頁面應用,所以只需要對index.html設置即可。
對index.html中的資源地址,也會存在緩存,可以通過webpack構建時加入hash值解決。

『伍』 web伺服器緩存基本定義

為了能夠給用戶一個良好的上網體驗,大部分的網頁和瀏覽器都配置了預載入以及緩存功能。今天北京電腦培訓就通過案例分析來了解一下,關於web緩存的基本定義與類型介紹。



Web緩存是什麼?為什麼要使用緩存?


Web緩存處於伺服器(也稱為源伺服器)和客戶端之間,監視請求並保存響應的副本,比如HTML頁面,圖片和文件等(統稱為表述)。如果之後有對同一個URL的新請求,它會使用自己保存的內容來響應,而不是再次請求源伺服器來獲取內容。


使用Web緩存主要有下面兩個原因:


減少延遲——因為響應請求的內容來自緩存(距客戶端較近)而不是源伺服器,它會花較少的時間來獲得表述並將他們呈現出來。這使得Web看起來具有良好的響應速度枝念。


減少網路蘆族傳輸——由於復用了表述,它可以減少客戶端使用的帶寬總量。如果客戶需要為流量付費,這就意味著省錢。緩存會降低對帶寬的要求,也降低處理難度。


Web緩存的種類


瀏覽器緩存


你在查看現代Web瀏覽器(比如IE、Safari或Mazilla)選項的時候,可能會看到「緩存」設置。這個選項讓你配置一部分硬碟空間來保存你看過的表述。瀏覽器緩存的規則相當簡單。它通常會在一次會話(即當前瀏覽器中一次調用)中檢查表述是否新。


這個緩存在用戶使用「回退」按鈕或者點擊一個瀏覽過的鏈接時會特別有用。而且,如果你在網站的各個頁面中瀏覽相同的圖片,他們幾乎能馬上從緩存中載入出來。


代理緩存


Web代理緩存的工作原理相同,但規模更大。代理以同樣的方式為成百上千的用戶服務;大公司和ISP常常把代碼緩存建立在防火牆之上,也可能是以獨立設備的形式存在(也稱為中間設備)。


代理緩存即不是客戶端的一部分,也不是伺服器的一部分,而是在網路之外,必須以某種方式把請求路由過去。其中一種方式是手工修改瀏覽器代理設備,指定要使用的代碼;另一種方式是攔截。攔截式代理會根據其自身的基礎網路重定向Web請求,不需要在客戶端配置,客戶端甚至不知道猛嘩困它們的存在。


代理緩存是一種共享緩存,通常不只是一個用戶,而是大量用戶在使用代理緩存。正因為如此,他們特別擅長降低延遲和網路傳輸量。這是因為眾人都需要的表述會被多次重復使用。


網關緩存


網關緩存又名「反向代理緩存」或「替代緩存」。網關緩存也是一種中介,它他們不是由網路管理員部署以節約帶寬,而是由網站管理員自己部署,使其站點更具伸縮性、可靠性以及擁有更好的性能。


很多方法都可以把請求路由到網關緩存,但常見的方法是使用負載均衡器讓他們對於客戶來說,看起來就跟源伺服器一樣。


內容分發網路(CDN)在整個Internet(或它的一部分)中分發網關緩存,並將其出售給對此感興趣的網站。


Web緩存對我有壞處么?我為什麼要幫助它們?


Web緩存是互聯網中誤解深的技術之一。因為代理緩存可以隱藏使用網站的用戶,所以網站管理員特別害怕失去對他們的站點的控制,這會使得他們很難去知道是誰在使用他們的站點。


然而不幸的是,即使沒有Web緩存,網路上也有非常多的因素可以保證管理員精確的知道一個用戶如何使用他們的站點。如果這是你非常關注的問題的話,這篇手冊將會指導你如何在站點沒有不友好的緩存機制的情況下獲取你需要的統計信息。


『陸』 一台伺服器可以作為資料庫緩存web

可以
定義:原始意義是指訪問速度比一般隨機存取存儲器(RAM)快的一種高速存儲器,通常它不像系統主存那樣使用DRAM技術,而使用昂貴但較快速的SRAM技術。緩存的設置是所有現代計算機系統發揮高性能的重要因素之一。
原理:緩存的工作原理是當CPU要讀取一個數據時,首先從CPU緩存中查找,找到就立即讀取並送給CPU處理;沒有找到,就從速率相對較慢的內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。正是這樣的讀取機制使CPU讀取緩存的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在CPU緩存中,只有大約10%需要從內存讀取。這大大節省了CPU直接讀取內存的時間,也使CPU讀取數據時基本無需等待。總的來說,CPU讀取數據的順序是先緩存後內存。
2. web緩存
扯了這么多,其實web緩存的產生和原理跟上面一樣一樣的:客戶端瀏覽器在顯示一個完整網頁前,需要去伺服器獲取一些必要的數據(js,css,image等),因為瀏覽器的數據處理和渲染速度很快,而通過網路傳輸的方式去伺服器取數據的過程卻很慢(雖然現在網速還算比較快,下載1M的文件都用不了1s,但相較於處理器,這就非常慢了),所以頁面顯示出來前都有一段時間的白屏,如果每次打開相同的頁面,獲取相同的資源都要等待一段時間的白屏,作為用戶,豈能忍。如果把已經獲取過的資源存在本地,下次用的時候就不用從伺服器去取了,這樣速度就要快很多了。這種機制便是web緩存。

其實web緩存的優點還有很多: - 減輕伺服器壓力 - 減少數據傳輸,節省網路帶寬和流量 - 縮短頁面載入時間,提升用戶體驗

二、web緩存分類
了解了緩存的由來和原理,下面針對web緩存(以下統一簡稱緩存)具體介紹一下。緩存是一個抽象的代名詞,用以提高訪問效率而臨時存儲副本的機制都可以稱之為緩存。我們常說的緩存,根據資源存放位置、具體用途和運行機制不同,一般可以分為:
資料庫緩存
伺服器緩存
客戶端緩存

『柒』 圖新地球軟體下載瓦片失敗的原因

圖新地球軟體下載瓦片失敗的原因可能是瀏覽器問題。strong>
圖新地球軟體下載瓦片對瀏覽器有一定的條件限制,可以將在線瓦片緩存在您的Web伺服器上,按照標准文件夾命名的形式進行存放。
瓦片的坐猛宴標系格式:DataV默認支枝基銀持的地圖瓦片格式是WGS84或者GCJ-02球面坐標,按照標准Web Mercator(SRID:3857)投影方式進行鋒純切片。常用軟體:谷歌,高德。

『捌』 如何清除WEB伺服器的緩存

脊或清除web伺服器的緩存方法有如下:

1、打開電腦,消野則登錄拿棚網站web端後台,選擇清除緩存;

2、通過FTP工具連接網站,進入根目錄;

3、進入根目錄後,點擊刪除緩存文件夾;

4、打開電腦,進入瀏覽器,通過瀏覽器清除本地電腦的緩存即可。

『玖』 android 怎樣獲取webview的緩存

請求的url記錄是保存在webviewCache.db,而url的內容是保存在webviewCache文件夾下.

為了便於理解,接下來模擬一個案例,定義一個html文件,在裡面顯示一張圖片,用WebView載入出來,然後再試著從緩存里把這張圖片讀取出來並顯示。

第一步:新建一個Android工程命名為WebViewCache.目錄結構如下:

第二步:在assets目錄下新建一個html文件,命名為index.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>WebViewCacheDemo</title>

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

</head>

<body>
<img src="http://img04.taobaocdn.com/imgextra/i4/608825099/T2nGXBXXpaXXXXXXXX_!!608825099.jpg_310x310.jpg"/>
</body>
</html>

第三步:修改main.xml布局文件,一個WebView控制項一個Button(點擊載入緩存圖片用),代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<WebView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/webView"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="從緩存讀取圖片"
android:id="@+id/button"/>
</LinearLayout>

第四步:修改主核心程序WebViewCacheDemo.java,這里我只載入了index.html文件,按鈕事件暫時沒寫,代碼如下:

package com.ljq.activity;

import java.io.File;
import java.io.FileInputStream;

import android.app.Activity;
import android.app.Dialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.ImageView;

public class WebViewActivity extends Activity {
private WebView webView;
private static final String url="file:///android_asset/index.html";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

webView=(WebView)findViewById(R.id.webView);
webView.loadUrl(url);
}
}

第五步:在AndroidMainifest.xml文件中加訪問網路的許可權:
<uses-permission android:name="android.permission.INTERNET" />

『拾』 web編程開發都有哪些前端緩存

緩存問題在web前端編程開發領域中是一個非常重要的技術問題,下面我們就一起來了解一下,關於web緩存我們都需要了解哪些知識。


緩存優點

通常所說的Web緩存指慧世的是可以自動保存常見http請求副本的http設備。對於前端開發者來說,瀏覽器充當了重要角色。除此外常見的還有各種各樣的代理伺服器也可以做緩存。當Web請求到達緩存時,緩存從本地副本中提取這個副本內容而不需要經過伺服器。這帶來了以下優點:

緩存減少了冗餘的數據傳輸,節省流量

緩存緩解了帶寬瓶頸問題。不需要更多的帶寬就能更快載入頁面

緩存緩解了瞬間擁塞,降低了對原始伺服器的要求。

緩存降低了距離延時,因為從較遠的地方載入頁面會更慢一些。

緩存種類

緩存可以是單個用戶專用的,也可以是多個用戶共享的。專用緩存被稱為私有緩存,共享的緩存被稱為公有緩存。

私有緩存

私有緩存只針對專有用戶,所以不需要很大空間,廉價。Web瀏覽器中有內建的私有緩存——大多數瀏覽器都會將常用資源緩存在你的個人電腦的磁碟和內存中。

公有緩存

公有緩存是特殊的共享代理伺服器,被稱為緩存代理伺服器或代理緩存(反向代理的一種用途)。公有緩存會接受來自多個用戶的訪問,所以通過它能夠更好的減少冗餘流量。

新豎猛鮮余碧橋度限值

HTTP通過緩存將伺服器資源的副本保留一段時間,這段時間稱為新鮮度限值。這在一段時間內請求相同資源不會再通過伺服器。HTTP協議中Cache-Control和Expires可以用來設置新鮮度的限值,前者是HTTP1.1中新增的響應頭,後者是HTTP1.0中的響應頭。電腦培訓發現二者所做的事時都是相同的,但由於Cache-Control使用的是相對時間,而Expires可能存在客戶端與伺服器端時間不一樣的問題,所以我們更傾向於選擇Cache-Control。