geotools学习1从postgressql取shp并且展示(java postgis)

原创 2011年01月14日 14:03:00

国内geotools资料太少了,项目要用到,硬着头皮学啊。。。。

package org.geotools.demo;

import java.awt.Color;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import org.apache.log4j.Logger;
import org.geotools.data.DataStoreFinder;
import org.geotools.data.FeatureSource;
import org.geotools.data.postgis.PostgisDataStore;
import org.geotools.data.postgis.PostgisDataStoreFactory;
import org.geotools.feature.FeatureIterator;
import org.geotools.map.DefaultMapContext;
import org.geotools.map.MapContext;
import org.geotools.styling.SLD;
import org.geotools.styling.Style;
import org.geotools.swing.JMapFrame;
import com.vividsolutions.jts.io.ParseException;
 public   class  GetPostgisData   {
  private static final Logger LOGGER = Logger.getLogger("org.geotools.postgis");
     static PostgisDataStore pgDatastore;
     static PostgisDataStoreFactory factory=new PostgisDataStoreFactory();
     static FeatureSource fsBC;
 @SuppressWarnings( "unchecked" )
  private   static   void  ConnPostGis(String dbtype,String URL, int  port,String database,
   String user,String password)  {
  Map params  =   new  HashMap();
  params.put("dbtype","postgis");
  params.put( "host" , URL);
  params.put( "port" ,  new  Integer(port));
  params.put( "database" , database);
  params.put( "user" , user);
  params.put( "passwd" , password); 
   try    {
   pgDatastore  =  (PostgisDataStore) DataStoreFinder.getDataStore(params);
    if (pgDatastore != null )  {
    System.out.println( " 系统连接到位于: " + URL + " 的空间数据库 " + database + " 成功! " );
   } else  {
    System.out.println( " 系统连接到位于: " + URL + " 的空间数据库 " + database + " 失败!请检查相关参数 " );
   }
   }   catch  (IOException e)   {
   e.printStackTrace();
   System.out.println( " 系统连接到位于: " + URL + " 的空间数据库 " + database + " 失败!请检查相关参数 " );
  }
 }
   public   static   void  main(String[] args)  throws  IOException, ParseException  {
  ConnPostGis( "" , "localhost" , 5432 , "mygis" , "postgres" , "root" );
   /**/ /* 读取指定类型名的地理特征  */
   FeatureSource fsBC = pgDatastore.getFeatureSource("tl_2010_36_elsd10");
   FeatureIterator inte = fsBC.getFeatures().features();
   Style shpStyle = SLD.createPolygonStyle(Color.YELLOW, null, 0.0f);
  
   // Set up a MapContext with the two layers
   final MapContext map = new DefaultMapContext();
   map.setTitle("ImageLab");
   map.addLayer(fsBC, shpStyle);
   JMapFrame frame = new JMapFrame(map);
   frame.setSize(800, 600);
   frame.enableStatusBar(true);
   frame.enableTool(JMapFrame.Tool.ZOOM, JMapFrame.Tool.PAN, JMapFrame.Tool.RESET);
   frame.enableToolBar(true);
   JMenuBar menuBar = new JMenuBar();
   frame.setJMenuBar(menuBar);
   JMenu menu = new JMenu("Raster");
   menuBar.add(menu);
  frame.repaint();
  frame.setVisible(true);  
   }
 }
  

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

geotools学习1从postgressql取shp并且展示(java postgis)

国内geotools资料太少了,项目要用到,硬着头皮学啊。。。。 package org.geotools.demo; import java.awt.Color; import java.io...

GeoTools查询空间数据

在开始前,请设置好开发环境,我们将列出所需要的maven包依赖关系。 本章主要介绍如何在geotools查询空间地理数据。在之前的教程中我们一直在使用shapefiles。本章的重点是用于查询Data...

Geotools之“Hello World”——打开本地shp文件并显示

本节讲述的是geotools的开胃菜,打开本地shp文件,并在窗口中显示。

使用GeoTools读取和绘制Shapefile格式 -- (学习GIS【1】)

ESRI Shapefile(shp)是一种美国ESRI公司开发的空间数据开放格式。目前,该文件格式已经成为了地理信息软件界的一个开放标准,这表明ESRI公司在全球的地理信息系统市场的重要性。    ...

geotools实现shp数据的缓冲区分析

本文讲述如何在geotools中实现shp数据的缓冲区分析并保存到shp文件中。

Geotools读取shp文件并在Ol2中展示

在前面有一篇文章中讲到了GDAL将shp转换为GeoJson的实现,以及ol2、3以及Arcgis for js中GeoJson的加载,今天呢,书接上文,介绍Geotools如何读取shp文件并在ol...

PostgreSQL9.6+PostGIS2.3学习笔记(一)导入shp文件

一. 建库以及准备工作:(使用pgAdmin4直接建库) 打开pgAdmin4,如下图所示create–>Database 输入database的名字,如下图,输入完成即可选择save进行保存。这样基...

用GeoTools实现shp+sld导出图片

本文讲解通过Geotools实现用shp和sld导出图片。

终于搞定GeoTools对PostGis的操作

终于搞定GeoTools对PostGis的操作       唉,这几天撒事情都没有做,就搞定了GeoTools的一些bug的删除。2.3版本问题比较多,上次在GT上和Richard聊天,他也对G...

postGIS安装与shp文件的存储示范

自己装PostGIS已经有很多次了,由于没有记录,过一段时间就忘掉了。今天就写下本文记录。 前言: PostGIS是关系对象型postgresql数据库的空间引擎。在安装PostGIS 前首先必须安装...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)