查阅官方手册发现shapely中直接有可以用的功能:
如图所示,遇到类似 'POINT (lng lat)' 或者 'MULTIPOLYGON (((lng lat, ......)))' 等,直接wkt.loads就可以了
from shapely import wkt
type(wkt.loads(geo_str))
# shapely.geometry.multipolygon.MultiPolygon
使用ogr从
wkt
字符串
创建shapefile
输入为一个文本文件,每一行格式为a;b;c;
wkt
\n,分号分割,abc分别为三个字段的值,
wkt
为
字符串
。一行的示例dfas;defg;hjkpiuu;POLYGON((128
.
99 46
.
99略去一些))
如果多个字段仅需略作修改即可
将文本文件的每一行的
wkt
转
为面,并将前3个值作为字段添加到shp中
import osr
import
.
.
.
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1
.
0">
<title>D
.
python
+gdal读取txt解析成
WKT
标准格式直接绘制ploygon处理思考
WKT
(well-known text)WKB(well-known binary)GeoJSON
当我有这样一份txt数据的时候,我如何将这些坐标点
转
换生成polygon呢?能不能直接识别。
那么我怎么实现,识别成标准的格式呢,首先想到的是 开源
GIS
格式——
WKT
、WKB与GeoJSON
首先,解析下txt前面的0代表的是每一个polygon的属性信息,需要写到属性表内;其次是每行txt数据后面的坐标值,也就是逗
WKT
和Shapefile是
GIS
领域及其常用的两种数据格式,现在很多的应用,数据是以
Geometry
或Geography的形式存储在数据库中,而底图则是使用Arc
GIS
制作的切片。那这就涉及到将数据库中的数据
转
换成Shapefile,再进行切片的问题,其本质是如何将
WKT
转
换成Shapefile的问题。
虽然这个场景很常见,但是在我碰到这个问题,然后去网上找方法的时候,发现
.
.
.
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00907: 缺失右括号