首页 / 浏览问题 / 组件GIS / 问题详情
输入地理数据插入数据库
16EXP 2017年03月07日
1.我想通过外部输入点、线、多边形数据与数据库中的地理数据进行空间查询,我该输入什么格式的数据,该用什么函数比较。

2.如果我要给一个空的数据表中插入数据,那么对应的点、线、多边形等图形的数据格式应该是什么?

2 个回答

还有你所谓的格式是输入文件格式,还是指其他,是输入文件来查询的话,先通过导入文件ImportSetting 类将文件导入,如果是自己画点,线,面,可以用将geometry添加到跟踪图层进行查询
5,985EXP 2017年03月07日
感谢你的回复,我的意思是不在数据源中创建数据集,而直接根据外部输入的数据直接创建geometry然后进行空间查询。

select * from geidan t where sde.st_intersects(t.shape,(select sde.st_geometry('polygon((106.20569 38.10283, 106.21569 38.11283, 106.21569 38.08283, 106.20569 38.10283))', 4326) from dual))=1

这条语句是arcgis在数据库中做 空间查询的语句,'polygon((106.20569 38.10283, 106.21569 38.11283, 106.21569 38.08283, 106.20569 38.10283))',这个是从外部输入的多边形数据,supermap中有没有对输入数据封装成geometry的函数,以及点,线,面的输入格式应该是什么?
你好,是有的。点(GeoPoint),线(GeoLine),面(GeoRegion),其他的类型请在GeometryType 枚举里面查看
好的,谢谢
1.通过获取你数据库中地理数据的属性信息(你的地理数据得是矢量数据集),在使用你外部输入的点,线,面数据对地理数据的属性进行查询。比如你想查询一个矩形框内的数据,那么你输入的矩形框格式就是Rectangle2D,具体的查询重载方法请参考DatasetVector.Query 方法;

2.一般是在数据库数据源里面创建数据集(点,线,面)
5,985EXP 2017年03月07日

你好,如果我要用输入的点作为一个矢量图层,用空间匹配其他图层,相关的代码你这边有没有范例啊smiley

意思是你输入的点要生成一个点数据集是吧
这个问题我看文档的示例代码实现了,就是构建GeoPoint然后查询与其他的图层进行匹配就行啦
OK,搞定了就好
...