sinoly
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
29 随笔 :: 76 文章 :: 189 评论 :: 0 Trackbacks
<
2007年1月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
留言簿
(28)
给我留言
查看公开留言
查看私人留言
我参与的团队
WebGIS开发设计组(0/0)
随笔分类
(31)
GEOTOOLS(7)
(rss)
GIS(4)
(rss)
GPS
(rss)
POSTGIS(4)
(rss)
咸鱼扯淡(11)
(rss)
记号(5)
(rss)
随笔档案
(29)
2007年9月 (6)
2007年5月 (1)
2007年4月 (1)
2007年3月 (3)
2007年2月 (9)
2007年1月 (9)
文章分类
(5)
java技术(4)
(rss)
服务器技术(1)
(rss)
相册
上班族-命苦呀
签名
技术BLOG
cfis
Classicning
Geoserver本地化作者
needjava
(rss)
即兴的灵感
(rss)
Spring学习笔记写的还不错
姜利阳's BLOG
(rss)
心内求法
项目管理、技术管理,这些和做技术一样,都需要潜心去学习的
朋友的BLOG
sand&world
老婆的妹妹的男朋友(现老公-有证滴哦)
Shuihui's Space
另一个漂在北京的美工
在时尚、华夏人文地理等地方待过
口水的印记
无语ing。。。
此人很懒,没有留下任何说明
吾将上下而求索
好兄弟,好帮手,绝对的技术强人
庄周蝴蝶
不懂。。为什么美女都喜欢没有事情就换个空间从新开始
榊之领域
内裤在一片BS之中,终于放弃了弱智的QQ空间
祝比特的BLOG
努力学习java的好兄弟!技术一等一
美丽新世界
一个开朗,聪慧,让人可以很快感觉到阳光的女生
老萌的BLOG
绝对是火星上来的系统集成牛人
茶色杯子
吾:“师傅,等等我!”
尔:“悟空,你就别追了”
风清云扯淡的BLOG
一个“pl”的美工又在自言自语了。。。 内有裸照滴说
搜索
最新评论
1. re: JTS资料-中文版
多谢分享
--t34
2. re: 根据经纬度求两点间距离实现源码(java)
楼主,你的类被我用啦,谢谢你
--林锐强
3. re: 关于需求分析中的-假定和约束
评论内容较长,点击标题查看
--你妹
4. re: 原来可以如此这般(GEOTOOLS 2.4对中文编码的支持)
评论内容较长,点击标题查看
--pollux
5. re: 根据经纬度求两点间距离实现源码(java)
这个代码真好使,大牛V5
--大雁飞飞飞飞
阅读排行榜
1. 关于需求分析中的-假定和约束(20702)
2. java.net.MalformedURLException: no protocol:(18027)
3. 2006年个人年终总结(献丑了)(18005)
4. 根据经纬度求两点间距离实现源码(java)(12354)
5. 终于搞定GeoTools对PostGis的操作(11513)
评论排行榜
1. JTS资料-中文版(16)
2. 终于搞定GeoTools对PostGis的操作(16)
3. 2007年1月,就这么过去了(12)
4. 看JTS源码,感受Java优化编程(一)(12)
5. 痛苦、彷徨、绝望、清晰、前行!(11)
GeoTools写入POSTGIS遇到些问题
//
添加特征值到新的特征对象中。等同于新建一个postgis数据表并向其中插入数据
@SuppressWarnings(
"
deprecation
"
)
public
static
void
AddNewFeatures()
{
try
{
AttributeType geom
=
AttributeTypeFactory.newAttributeType(
"
the_geom
"
,LineString.
class
);
FeatureType ftRoad
=
FeatureTypeFactory.newFeatureType(
new
AttributeType[]
{geom}
,
"
tem_road
"
);
WKTReader wktReader
=
new
WKTReader();
try
{
LineString geometry
=
(LineString) wktReader.read(
"
LINESTRING (0 0, 10 10)
"
);
pgDatastore.createSchema(ftRoad);
FeatureWriter aWriter
=
pgDatastore.getFeatureWriter(
"
tem_road
"
,
((FeatureStore) pgDatastore.getFeatureSource(
"
tem_road
"
)).getTransaction());
Feature aNewFeature
=
aWriter.next();
/** */
/**
* 这里存在一个问题,就是如果一次插入的数据有多个字段来描述此地理特征,应该如何处理呢?
* setAttribute(int i,Object obj)第一个参数表示索引,但是第二个通过程序插入数据时就会
* 提示要求一个LineString对象。。。所以存在疑问。
*
*/
aNewFeature.setAttribute(
0
, geometry);
aWriter.write();
aWriter.close();
}
catch
(ParseException e)
{
e.printStackTrace();
}
catch
(IllegalAttributeException e)
{
e.printStackTrace();
}
catch
(IOException e)
{
e.printStackTrace();
}
}
catch
(FactoryRegistryException e)
{
e.printStackTrace();
}
catch
(SchemaException e)
{
e.printStackTrace();
}
}
代码中的pgDatastore是定义的一个DataStore对象,这个对象的生成是根据前两天的代码来连接POSTGIS数据库的。
问题就在对Feature.setAttribute(int i,Object obj);这个方法执行的时候,如果obj是一个LineString对象是没有问题的,就和已经完成的代码一样。上面的代码本身是可以运行的,可是如果一个Feature对象有多个属性呢?我在geotools 2.3的API中还没有找到我需要的方法。。。继续寻觅。。。我的想法是存在一个插入Feature 对象,这样我可以通过create方法将所有特征属性先赋予Feature对象。
而当前问题:呵呵,沉下心来,不急不躁。。。
posted on 2007-01-30 16:32
sinoly
阅读(2728)
评论(1)
编辑
收藏
所属分类:
GEOTOOLS
评论
#
re: GeoTools写入POSTGIS遇到些问题
2007-01-31 17:14
sinoly
唉。。不知怎么说。。这个问题算是搞定了。。
解决方法:
1、将项目中gt2-postgis-2.3.jar换成gt2-postgis-2.2.1.jar
2、aNewFeature.setAttribute( 0 , geometry);这个语句在这里用法有问题。替换成为aNewFeature.setAttribute( str, obj);即可。str表示xpath,obj为所设置属性的类型。多个属性可以多feature对象赋多个值即可。
gt2-postgis-2.3.jar在新建一个schema的时候貌似有些bug,对自动索引字段程序要求类型长度。。。可能是我研究不深抑或其他原因,反正我是没有找到这个方法的。。。换成gt2-postgis-2.2.1.jar问题解决。。。
开源真的还有好多路要走。。。汗ing。。。也为我自己以后的项目以及开发提出了一些新的要求
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
原来可以如此这般(GEOTOOLS 2.4对中文编码的支持)
java.net.MalformedURLException: no protocol:
JTS资料-中文版
终于搞定GeoTools对PostGis的操作
GeoTools写入POSTGIS遇到些问题
使用GEOTOOLS(2.3)读取POSTGIS内容
使用GeoTools 2.3M连接到POSTGIS数据库
Powered by:
BlogJava
Copyright © sinoly