2016-01-12 85 views
0

我有興趣創建一個gvNIX/Roo應用程序,它在地圖上顯示坦桑尼亞衛生設施的位置。我正在嘗試可用的教程here。但是,我的數據格式如下,其中我的位置數據分爲兩列(southingseastings)。本教程演示如何創建三種數據類型:使用gvNIX創建基於地圖的應用程序

field geo --fieldName location --type POINT --class ~.domain.Owner 
field geo --fieldName distance --type LINESTRING --class ~.domain.Owner 
field geo --fieldName area --type POLYGON --class ~.domain.Owner 

我假設我需要點數據類型留住衛生設施的位置數據,但我不知道如何獲得低於2列(southings和東進)入一個POINT變量。我對GIS也很陌生。該數據如下(CSV格式):

outlet_name,Status ,southings,eastings,streetward,name_of_outlet 
REHEMA MEDICS,02,2.49993,32.89512,K/POLISI,REVINA 
KIRUMBA MEDICS,02,2.50023,32.89503,K/POLISI,GEDION 
KIRUMBA PHARMACY,02,2.50152,32.89742,K/POLISI,MAURETH 
TULI MEDICS,02,2.48737,32.89686,KITANGIRI,TULI 
JULLY MEDICS,02,2.53275,32.93855,BUZURUGA,JULLY 
MAGOMA MEDICS,02,2.53181,32.94211,BUZURUGA,MAGOMA 
MECO PHARMACY,02,2.52923,32.94730,MECCO,DORCAS 
UPENDO MEDICS,02,2.52923,32.94786,MECCO,UPENDO 
DORIS MEDICS,02,2.49961,32.89191,KABUHORO,DORIS 
SOPHIA MEDICS,02,2.49975,32.89120,KABUHORO,ESTER 
MWALONI PHAMCY,02,2.56351,32.89416,MWALONI,ESTER 
SILVER PHAMACY,02,2.51728,32.90614,K/KILOMERO,WANDWATA 
KIBO PHARMACY,02,2.51688,32.90710,MISSION,MARIAM 

感謝

回答

2

您需要以插入它們在你的數據庫中的列的座標轉換爲WKT格式(知名文本)(一個PostgreSQL數據庫與Postgis支持)。爲了達到此目的,您需要按照以下步驟操作:

  • 查找座標參考系統(CRS)的SRID。也就是說,定義你的座標系的標識符。否則,你的分數將不匹配真實座標。您需要在最後一步中使用SRID。
  • 將您的數據轉換爲WKT。插入點所需的數據位於southings和eastings列(我認爲它們等於緯度和經度,這是最常用的),所以您需要將這些列轉換爲WKT格式的單個列。例如爲您的第一行數據:Point(32.89512 2.49993)。請注意它們之間的空間和數字之間的切換。
  • 繼續插入SQL語法,但使用postgis函數。你的第一排的例子是:INSERT into health_facilities (outlet_name, Status, streetward, location) VALUES ('REHEMA MEDICS', 02, 'K/POLISI', ST_GeomFromText('Point(32.89512 2.49993)', 4326));。其中「4326」是你必須找到的SRID號碼(使用它是最常見的 - > EPSG:4326)。

你可以找到更多信息herehere。還有幾個頁面,您可以檢查座標並在不同的CRS之間轉換它們,如thisthis

+0

謝謝,非常有幫助! –

相關問題