使用gvNIX创建基于地图的应用程序

时间:2016-01-12 08:48:05

标签: gvnix

我有兴趣创建一个gvNIX / Roo应用程序,在地图上显示坦桑尼亚卫生设施的位置。我正在尝试使用教程here。但是,我的数据采用下面显示的格式,我的位置数据分为两列(southingseastings)。本教程介绍了如何创建三种数据类型:

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

假设我需要POINT数据类型来保存健康设施位置的数据,但我不确定如何将下面的2列(南侧和东侧)放入单个POINT变量中。我也很陌生。数据如下(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

由于

1 个答案:

答案 0 :(得分:2)

您需要将坐标转换为WKT格式(知名文本),以便将它们插入数据库的一个列中(具有postgis支持的postgresql数据库)。为了实现这一目标,您需要执行以下步骤:

  • 找到坐标参考系统(CRS)的SRID。也就是说,定义你的坐标系的识别器。否则,您的点将与实际坐标不匹配。您将在最后一步中需要SRID。
  • 将您的数据转换为WKT。插入点所需的数据位于南侧和东侧列(我认为它们等于纬度和经度,这是最常用的),因此您需要使用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