<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    sinoly

       :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      29 隨筆 :: 76 文章 :: 189 評(píng)論 :: 0 Trackbacks
    ???? // 添加特征值到新的特征對(duì)象中。等同于新建一個(gè)postgis數(shù)據(jù)表并向其中插入數(shù)據(jù)
    ????@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();
    ????????????????
    /**
    ?????????????????*?這里存在一個(gè)問題,就是如果一次插入的數(shù)據(jù)有多個(gè)字段來描述此地理特征,應(yīng)該如何處理呢?
    ?????????????????*?setAttribute(int?i,Object?obj)第一個(gè)參數(shù)表示索引,但是第二個(gè)通過程序插入數(shù)據(jù)時(shí)就會(huì)
    ?????????????????*?提示要求一個(gè)LineString對(duì)象。。。所以存在疑問。
    ?????????????????*?
    */

    ????????????????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是定義的一個(gè)DataStore對(duì)象,這個(gè)對(duì)象的生成是根據(jù)前兩天的代碼來連接POSTGIS數(shù)據(jù)庫的。
    ??? 問題就在對(duì)Feature.setAttribute(int i,Object obj);這個(gè)方法執(zhí)行的時(shí)候,如果obj是一個(gè)LineString對(duì)象是沒有問題的,就和已經(jīng)完成的代碼一樣。上面的代碼本身是可以運(yùn)行的,可是如果一個(gè)Feature對(duì)象有多個(gè)屬性呢?我在geotools 2.3的API中還沒有找到我需要的方法。。。繼續(xù)尋覓。。。我的想法是存在一個(gè)插入Feature 對(duì)象,這樣我可以通過create方法將所有特征屬性先賦予Feature對(duì)象。

    而當(dāng)前問題:呵呵,沉下心來,不急不躁。。。

    posted on 2007-01-30 16:32 sinoly 閱讀(2743) 評(píng)論(1)  編輯  收藏 所屬分類: GEOTOOLS

    評(píng)論

    # re: GeoTools寫入POSTGIS遇到些問題 2007-01-31 17:14 sinoly
    唉。。不知怎么說。。這個(gè)問題算是搞定了。。
    解決方法:
    1、將項(xiàng)目中g(shù)t2-postgis-2.3.jar換成gt2-postgis-2.2.1.jar
    2、aNewFeature.setAttribute( 0 , geometry);這個(gè)語句在這里用法有問題。替換成為aNewFeature.setAttribute( str, obj);即可。str表示xpath,obj為所設(shè)置屬性的類型。多個(gè)屬性可以多feature對(duì)象賦多個(gè)值即可。

    gt2-postgis-2.3.jar在新建一個(gè)schema的時(shí)候貌似有些bug,對(duì)自動(dòng)索引字段程序要求類型長(zhǎng)度。。。可能是我研究不深抑或其他原因,反正我是沒有找到這個(gè)方法的。。。換成gt2-postgis-2.2.1.jar問題解決。。。

    開源真的還有好多路要走。。。汗ing。。。也為我自己以后的項(xiàng)目以及開發(fā)提出了一些新的要求  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 亚洲网址在线观看你懂的| 国产精品免费αv视频| 亚洲91av视频| 三上悠亚亚洲一区高清| 成人在线视频免费| 国产免费一区二区三区| 日韩精品无码免费专区网站| 国产成人综合亚洲绿色| 国产精品亚洲午夜一区二区三区| 亚洲VA成无码人在线观看天堂| 亚洲国产综合人成综合网站| 精品国产免费观看一区| 一个人看的www在线观看免费| 人妻无码一区二区三区免费| 亚洲免费人成在线视频观看| 丝袜捆绑调教视频免费区| 一级全免费视频播放| 特黄特色的大片观看免费视频| 亚洲gay片在线gv网站| 亚洲情A成黄在线观看动漫软件| 亚洲毛片基地日韩毛片基地| 色播亚洲视频在线观看| 久久精品国产亚洲AV果冻传媒 | 亚洲毛片免费观看| 亚洲av无码国产精品色午夜字幕 | 亚洲综合国产成人丁香五月激情| 亚洲精品永久www忘忧草| 亚洲最大福利视频网站| 久久亚洲AV成人无码| 亚洲国产精品无码久久久| 亚洲影视一区二区| 亚洲一级免费毛片| 中文字幕亚洲精品无码| 亚洲无码一区二区三区| 亚洲AV一区二区三区四区| 亚洲AV日韩AV无码污污网站| 精品一区二区三区无码免费直播| 无人视频在线观看免费播放影院| 又大又硬又粗又黄的视频免费看| 一级毛片免费视频网站| 日韩电影免费在线观看|