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

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

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

    sinoly

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      29 隨筆 :: 76 文章 :: 189 評論 :: 0 Trackbacks
    ???? // 添加特征值到新的特征對象中。等同于新建一個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 閱讀(2743) 評論(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。。。也為我自己以后的項目以及開發提出了一些新的要求  回復  更多評論
      

    主站蜘蛛池模板: 中文字幕不卡免费视频| 人妻仑刮八A级毛片免费看| 污污网站18禁在线永久免费观看| 亚洲中久无码不卡永久在线观看| 在线亚洲精品视频| 亚洲av成人一区二区三区在线观看| 亚洲国产精品精华液| 国产一区二区三区在线免费 | a级在线免费观看| 国产精品亚洲аv无码播放| 国产免费一区二区视频| 亚洲gv猛男gv无码男同短文| 免费A级毛片无码A∨中文字幕下载 | 大香人蕉免费视频75| 亚洲色少妇熟女11p| 国产成人免费高清在线观看 | 国内精品免费视频精选在线观看| 亚洲AV永久无码精品一百度影院 | 777亚洲精品乱码久久久久久 | 亚洲人成电影在线天堂| 国产成人免费高清激情明星| 亚洲日日做天天做日日谢| 国产美女做a免费视频软件| 五月天国产成人AV免费观看| 亚洲人成77777在线播放网站| 无码成A毛片免费| 亚洲色大成网站www永久男同| 免费女人18毛片a级毛片视频| 97国免费在线视频| 亚洲成a人片在线观看中文!!!| 日韩激情无码免费毛片| 一区二区视频免费观看| 久久精品国产亚洲av高清漫画 | a级男女仿爱免费视频| 亚洲国产精品免费在线观看| 国产高清免费在线| 黄网站免费在线观看| 亚洲综合精品伊人久久| 亚洲色欲色欲www在线丝| 91免费资源网站入口| 国产精品极品美女自在线观看免费 |