簡體   English   中英

如何用Java開發LBS / GIS應用程序的概述

[英]Overview of how to develop LBS/GIS app in Java

我需要為現有應用程序開發基於位置的擴展,以允許用戶查看周圍的所有其他用戶(在固定的空中距離內)。 現有的應用程序是使用Axis(Web服務)+ Spring + Hibernate + MySQL開發的。

要求是:

  1. Java框架(最好是開源的,除非商業解決方案提供了很大的優勢)。 與Hibernate,Spring等集成是首選。
  2. 用戶需要使用標准API(即SOAP或REST)在設定的時間段內更新他/她的位置
  3. 用戶需要能夠通過發送緯度和經度或美國地址來更新位置。
  4. 如果GPS不可用,可能會對某些設備使用手機信號塔和/或wifi數據。
  5. 無需步行或行車路線。 沒有必要有駕駛或步行距離,只需要近似的空中距離。
  6. 該應用程序的用戶繼續移動(銷售人員)並在設定的時間段內更新他們的位置(每〜15分鍾)。
  7. 項目未來可能會改變以處理其他興趣點(即倉庫位置,客戶位置),但這些可能會處於固定的物理位置(與繼續移動的用戶相比)。
  8. 檢索特定用戶周圍用戶的性能至關重要; 因此,更喜歡內存中的映射(而不是數據庫查詢)。
  9. 此時無需渲染地圖。 這可能會改變。

我聽說過或看過以下術語和框架,我不確定它們是什么意思,以及使用哪一個:

  • ESRI
  • 形狀文件
  • GeoServer的
  • GeoTools
  • PostGIS的

我將非常感謝我為開發這樣一個項目需要采取的步驟的簡要概述,是否以及如何使用上述工具,哪些數據(即GPS,Wifi,Cell-tower)可以免費獲得,我們需要哪些工資。

我們將非常感謝您對某些教程或書籍的參考。

謝謝!

我真的不喜歡你的問題。 作為擁有大學學位和12年經驗的地理空間專業人士,我想說:聘請能為您完成工作的人。

但我會嘗試給出一些不錯的答案:

  • 整個應用程序可以使用開源構建。
  • 地圖需要地理數據才能提供背景信息。 這可以是; 真正昂貴的(teleatlas或navteq數據)或無價的(openstreetmap)
  • ESRI是一家公司
  • Shapefile是一種存儲地理數據的文件格式
  • Geoserver是一種提供地圖服務的開源解決方案
  • GeoTools是用於進行轉換,創建要素和進行轉換的java庫,這些轉換也構成了地理服務器的基礎
  • PostGIS是一個存儲地理數據的數據庫

一般來說;

一切皆有可能。 我建議首先寫下你想要構建的內容,你想要它維護的是什么,你希望它使用什么樣的服務器架構,然后開始消除這些選項。

首先,您需要選擇后端來存儲數據。 為此,一些數據庫系統具有“空間”擴展或模塊,這些擴展支持投影,變換和空間查詢(最近,內部,觸摸......):

商業:

  1. Oracle空間
  2. MS SQLserver空間

開源:

  1. postgis(適用於postgres)
  2. MySQL空間
  3. MonetDB(正在進行中)
  4. 平面文件,如ESRI shapefile

然后,您需要一個服務器應用程序來托管地理空間數據集作為(矢量或柵格)地圖:

商業:

  1. ESRI arcIMS
  2. ESRI arcGIS服務器
  3. PB MapInfo MapXtreme
  4. ...

開源:

  1. UMN Mapserver
  2. 利用Geoserver
  3. Mapnik的

最后,如果要創建具有交互式地圖的Web應用程序,則需要一些Javascript Web地圖框架:

商業:

  1. 谷歌地圖
  2. PB MapInfo MapXtreme
  3. Map24
  4. ...

開源:

  1. 的OpenLayers
  2. 變色龍
  3. MapFish
  4. GeoExt

您還可以使用Flash Web地圖框架,例如:

  1. 火烈鳥-MC

所有這些,取決於所選擇的架構,至少需要一個帶有cgi或servlet運行器的web服務器。

基本上,這一切都歸結於您的組織:您的組織目前正在使用的架構是什么? 專業知識如何? 什么架構符合您公司的專業領域?

商業化時,您的許可證的價格從500美元到500,000美元不等,具體取決於供應商。 使用開源時,您的許可證當然是無效的。 但您還需要計算學習曲線和所需的配置時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM