1. 程式人生 > >【學習筆記之Openlayers3】查詢分析篇(第五篇)

【學習筆記之Openlayers3】查詢分析篇(第五篇)

select count(*) from "+sourceName+" where 1=1 "; String sql = "select gid as gid,fname as name,ST_AsText(geom) as geowkt from "+sourceName+" where 1=1 "; // 查詢所有在這個選中的幾何最小外接矩形內的資料 sql+=" and ST_DWithin(ST_Envelope((select geom from "+targetName+" where gid = "+targetId+") ),geom,0
) "; countsql+=" and ST_DWithin(ST_Envelope((select geom from "+targetName+" where gid = "+targetId+") ),geom,0) "; // 首先判斷兩者關係,然後拼接對應的sql if(relation.equals("intersects")){ // 相交 sql += " and st_Intersects(geom,(select geom from "+targetName+" where gid = "+targetId+"
)) = true "; countsql += " and st_Intersects(geom,(select geom from "+targetName+" where gid = "+targetId+" )) = true "; }else if(relation.equals("within")){ // 範圍內 sql += " and st_Within(geom,(select geom from "+targetName+" where gid = "+targetId+" )) = true "; countsql += "
and st_Intersects(geom,(select geom from "+targetName+" where gid = "+targetId+" )) = true "; }else if(relation.equals("contains")){ //包含 sql += " and st_Contains(geom,(select geom from "+targetName+" where gid = "+targetId+" )) = true "; countsql += " and st_Intersects(geom,(select geom from "+targetName+" where gid = "+targetId+" )) = true "; }else if(relation.equals("touches")){ //接觸 sql += " and st_Touches(geom,(select geom from "+targetName+" where gid = "+targetId+" )) = true "; countsql += " and st_Intersects(geom,(select geom from "+targetName+" where gid = "+targetId+" )) = true "; } // 分頁 sql+=" order by gid limit 5 offset "+(Integer.parseInt(page)-1)*5; try { // 獲取符合條件的紀錄總條數 rowCount = JdbcServer.getJdbcCount(countsql); // 獲取總頁數 if(rowCount%5!=0) { pageCount = rowCount / 5 + 1; }else{ pageCount = rowCount / 5; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } try { // 獲取每一頁的資料 result = JdbcServer.getFeaList(sql); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } result.put("rowCount", rowCount); result.put("pageCount", pageCount); result.put("page", page); return result; }

相關推薦

學習筆記Openlayers3查詢分析

select count(*) from "+sourceName+" where 1=1 "; String sql = "select gid as gid,fname as name,ST_AsText(geom) as geowkt from "+sourceName+" wher

學習筆記Openlayers3要素繪製

直接以專案例項來進行講解要素繪製 需求(假如): 1.實現在地圖上畫點線面功能 2.自定義其樣式 3.支援編輯功能 需要用到的openlayers3中的ol.interaction.Draw 類。這是openlayers3提供的內建互動方式,除了這

學習筆記Openlayers3要素儲存

上一篇中已經講了要素的繪製功能,既然要素都繪製出來了,繪製完就應該儲存起來了吧,那麼怎麼儲存呢?這一篇就是講解怎麼儲存繪製好的要素的。 個人用到過兩種儲存要素的方法,一種是通過WFS直接儲存要素入庫,另一種是通過ajax的方法通過專案的伺服器端儲

學習筆記javascript設計模式與開發實踐釋出--訂閱模式----8

第8章 釋出—訂閱模式 釋出—訂閱模式又叫觀察者模式,它定義物件間的一種一對多的依賴關係,當一個物件的狀態發生了改變時,所有依賴於它的物件都將得到通知。在javascript開發中,我們一般都用事件模型來替代傳統的釋出—訂閱模式。 8.1 現實中的釋出—訂閱模式 不論是在程

mybatis學習筆記——mybatis的XML配置檔案全域性配置檔案

MyBatis的配置檔案包含了會深深影響MyBatis行為的設定(settings)和屬性(properties)資訊。我們詳細瞭解一下MyBatis的各種標籤的作用以及使用方法。 properties properties:配置,mybatis可以使用properties標籤來引入外部pr

《Pro Spring》學習筆記Spring+ActiveMQ實現Queue通訊點對點

spring配置檔案: <?xml version="1.0" encoding="UTF-8"?><beans    xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="h

無私分享:ASP.NET CORE 專案實戰Repository倉儲 UnitofWork

1 public abstract class Repository<T> : IRepository<T> where T : class 2 { 3 #region 資料上下文 4 5 /// <s

caffe學習筆記7caffe-matlab/python訓練LeNet模型並應用於mnist資料集2

【案例介紹】 LeNet網路模型是一個用來識別手寫數字的最經典的卷積神經網路,是Yann LeCun在1998年設計並提出的,是早期卷積神經網路中最有代表性的實驗系統之一,其論文是CNN領域第一篇經典之作。本篇部落格詳細介紹基於Matlab、Python訓練lenet手

caffe學習筆記4利用MATLAB介面執行cifar資料集

【前期準備工作】 1. 確保模型訓練成功,生成模型檔案:cifar10_quick_iter_4000.caffemodel及均值檔案:mean.binaryproto。注意,此處一定是生成caffemodel格式的模型檔案,而非.h5模型檔案,否則會導致Matlab執行

Linux 路由 學習筆記 三 路由查詢流程分析

上一節分析了路由的新增,本節接著分析路由的查詢流程,路由查詢流程也是被最多使用的介面。當裝置三層協議棧接收到資料包、傳送資料包等操作時,都要進行路由查詢操作。 對於路由的查詢,又分為兩個查詢過程,即不支援策略路由時的路由查詢函式,以及支援策略路由時的路由查詢流程,顯然支

caffe學習筆記5Win10系統下Caffe的Python介面設定方法並繪製網路結構圖

【準備工作】 前面幾節介紹了win10系統下caffe-master的配置方法以及cifar10資料集的訓練方法,並簡要介紹了Matlab介面如何配置。想要更為形象的瞭解caffe框架下諸多網路模型的

Linux學習筆記檔案與檔案系統的壓縮,打包與備份

8.2Linux系統常見的壓縮指令   在 Linux 的環境中,壓縮檔案案的副檔名大多是: 『.tar, .tar.gz, .tgz, .gz, .Z, .bz2, *.xz』,為什麼會有這樣的副檔名呢?   這是因為 Linux 支援的壓縮指令非常多,且

itext學習-------對pdf進行蓋章/簽章/數字簽名

在上一篇文章中,我們學習了使用itext對pdf增加圖片水印和文字水印,那麼這篇文章我們將要學習更高階一點的水印—-印章。可能你會有疑問,印章不也是一個圖片嗎?當然,你可以把一個印章圖片來做成圖片水印,但是我們這裡要介紹的是,通過數字簽名的方式來進行pdf簽章。

大資料技術學習筆記網站流量日誌分析專案:資料採集層的實現3

一、資料採集業務     -》資料來源         -》網站:使用者訪問日誌、使用者行為日誌、伺服器執行日誌         -》業務:

大資料技術學習筆記網站流量日誌分析專案:網站業務與企業架構2

一、回顧     -》flume使用遇到的錯誤         -》少jar包         -》卡住不動:agent檔案不對 &nbs

大資料技術學習筆記網站流量日誌分析專案:Flume日誌採集系統1

一、網站日誌流量專案     -》專案開發階段:         -》可行性分析         -》需求分析  

學習筆記javascript設計模式與開發實踐代理模式----6

第6章代理模式  代理模式是為一個物件提供一個代用品或佔位符,以便控制對它的訪問。 代理模式是一種非常有意義的模式,在生活中可以找到很多代理模式的場景。比如明星都有經濟人作為代理。如果想請明星來辦一場商業演出,只能聯絡他的經紀人,經紀人會把演出的細節和報酬都談好之後,再把合

Hadoop源碼學習筆記NameNode啟動流程分析二:http server啟動源碼剖析

選擇 stop down gen java類 屬性 功能 集群 aslist NameNodeHttpServer啟動源碼剖析,這一部分主要按以下步驟進行:   一、源碼調用分析   二、偽代碼調用流程梳理   三、http server服務流程圖解 第一步,源碼調用分析

學習筆記asp.netWebService建立、釋出及在IIS上部署

一、專案建立1.     首先開啟VS,這裡我以VS2013為例2.     點選“新建專案”,依次選擇“Web”——>“Visual Studio 2012”——>“ASP.NET空Web應用程式”,專案名稱、路徑自己設定,這裡我使用預設設定3.     專案建立完成後,進入如下介面4.    

Mybatis學習筆記---多表查詢(1)

Mybatis多表查詢(1) (一)舉例(使用者和賬戶) 一個使用者可以有多個賬戶 一個賬戶只能屬於一個使用者(多個賬戶也可以屬於同一個使用者) (二)步驟 1、建立兩張表:使用者表,賬戶表,讓使用者表和賬戶表之間具備一對多的關係:需要使用外來鍵在賬戶表中新增 2、建立兩個實體類:使用者實體類和賬戶實體類,讓