Gdal关于CAD转SHP格式
来源:互联网 发布:iphone4s怎么备份数据 编辑:程序博客网 时间:2024/06/09 19:14
package cn.atide;import org.gdal.gdal.gdal;import org.gdal.ogr.DataSource;import org.gdal.ogr.Driver;import org.gdal.ogr.Layer;import org.gdal.ogr.ogr;import org.junit.Test;/** * 读取cad数据 * @author Administrator * */public class ReadDxf {@Test public void test() { // 注册所有的驱动 ogr.RegisterAll(); gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8","YES"); gdal.SetConfigOption("SHAPE_ENCODING",""); String strVectorFile = "E:\\gdalTest\\output\\财信.渝中城项目5#楼竣工.dxf"; DataSource ds = ogr.Open(strVectorFile,0); if (ds == null) { System.out.println("打开文件失败!" ); return; } System.out.println("打开文件成功!" ); int iLayerCount = ds.GetLayerCount(); Layer oLayer = ds.GetLayerByIndex(0); String name = oLayer.GetName(); if(oLayer == null){ System.out.println("获取失败"); return ; } oLayer.ResetReading(); long featureCount = oLayer.GetFeatureCount(); //Driver dv = ogr.GetDriverByName("GeoJSON"); Driver dv = ogr.GetDriverByName("ESRI Shapefile"); String extfile = "D:\\rect_field_demo.shp"; DataSource dataSource = dv.CreateDataSource(extfile); dv.CopyDataSource(ds, extfile); //dataSource.CreateLayer(name) /*if (dv == null) { System.out.println("打开驱动失败!" ); return; } System.out.println("打开驱动成功!" ); dv.CopyDataSource(ds, "E:\\gdalTest\\output\\node.json"); System.out.println("转换成功!" );*/ }}
daShapefile = r"C:\Temp\Voting_Centers_and_Ballot_Sites.shp"driver = ogr.GetDriverByName('ESRI Shapefile')#需要用到驱动器dataSource = driver.Open(daShapefile, 0) # 0 表示只读. 1 表示可写.# 检测文件是否存在if dataSource is None: print 'Could not open %s' % (daShapefile)else: print 'Opened %s' % (daShapefile) layer = dataSource.GetLayer() featureCount = layer.GetFeatureCount() print "Number of features in %s: %d" % (os.path.basename(daShapefile),featureCount)
0 0