我正在做一个公路网项目。我想得到每个部分的全球定位系统协调。我刚刚将形状文件数据转换为mysql数据库,其中有一个名为SHAPE的属性,它是“几何学”类型。我试过了
select SHAPE from table输出也很混乱。
有人知道如何打开这个“几何学”类型的SHAPE属性吗?
我还想知道shape文件是否适合使用,因为还有另一种类型的数据: geodatabase。如果我想提取路网数据,哪一个更好。
发布于 2015-06-23 09:39:25
Mysql支持多种几何函数来编辑和查询空间数据。完整列表请参见这里
一些例子:
-- show the WKT representation of the geometry
SELECT ST_AsText(SHAPE) FROM table;
-- show the coordinates of start and end point of the lines
SELECT ST_AsText(ST_StartPoint(SHAPE)), ST_AsText(ST_EndPoint(SHAPE)) FROM table;
-- show how many points build the line
SELECT ST_NumPoints(SHAPE)) FROM table;
-- length of the lines
SELECT ST_Length(SHAPE)) FROM table;如果需要行的所有坐标,可以简单地解析ST_AsText(SHAPE)查询的结果。或者,我推荐这个工作流:
1)使用函数ST_NumPoints(SHAPE)查询每一行的点数
2)迭代1和点数,并使用函数ST_X(ST_PointN(SHAPE, n))和ST_Y(ST_PointN(SHAPE, n))获得实际点的坐标,其中n是实际数。
迭代可以在mysql存储过程或外部程序或脚本中实现。
有关特定于行字符串的函数,请参见这里。
Geodatabase还是Shapefile?您目前使用的不是shapefile或geodatabase,而是MySql。如果只想在数据库中导入网络数据,就可以使用shapefile。另一方面,使用geodatabase,您可以更好地在ArcGis中工作,而无需使用外部工具。
如果您想使用外部数据库,我建议您在PostgreSQL而不是MySql中导入形状文件,因为它对空间数据有更强大的支持。
https://stackoverflow.com/questions/30987888
复制相似问题