两种解决方案: 一、将整个shapefile转为GeoJSON然后直接导入mongoDB数据库中 首先,将shapefile数据转为WGS84地理坐标,然后使用GDAL的命令行工具ogr2ogr...mongodb的mongoimport工具进行导入: mongoimport --db world --collection continents < continents.json 这样子整个shapefile...二、更加细粒度的存储方法是将shapefile中的每个feature取出来转为GeoJSON存入mongodb 具体实现代码入下(Java版本): package cn.tzy.mongodb;...COLLECTION_NAME); MongoCollection coll = db.getCollection(COLLECTION_NAME); File shapeFile...= new File(SHAPE_FILE); FileDataStore store = FileDataStoreFinder.getDataStore(shapeFile);
案例介绍 我们还是使用之前的分省Shapefile数据,主要包含每个省的一些统计信息。
案例介绍 这里我们要处理的数据是中国地图分省的矢量Shapefile,是一个面状数据。在上篇中我们给该数据添加了一个属性字段Abbr用以表示省的简称。这篇我们再把该字段给删除掉。...defs.GetFieldDefn(i).GetName(): return i raise ValueError(f'{name} not found') # 打开一个Shapefile
这里我们要处理的数据是中国地图分省的矢量Shapefile,是一个面状数据。该数据有一个NAME字段,给出了每个省的名称。然后我们需要给给数据增加一个属性字段Abbr,用以表示每个省的简称。...'广西': '桂', '宁夏': '宁', '新疆': '新', '西藏': '藏', '中国香港': '港', '中国澳门': '澳' } # 打开一个Shapefile...一下 layer.SetFeature(feature) # 关闭数据集 ds = None 方法总结 下面我们来对上面的代码进行一个方法的总结: 首先,我们使用ogr.Open()函数打开Shapefile
具体实现思想是:首先使用GeoTools读取shapefile文件,然后遍历每个feature,将feature转为GeoJSON的字符串。...continents"; // Collection名称 final String SHAPE_FILE = "/home/zytan/data/continent.shp"; // ShapeFile...文件 File shapeFile = new File(SHAPE_FILE); ShapefileDataStore store = new ShapefileDataStore...(shapeFile.toURI().toURL()); SimpleFeatureSource sfSource = store.getFeatureSource();...SimpleFeatureIterator sfIter = sfSource.getFeatures().features(); // 从ShapeFile文件中遍历每一个Feature
作者:阿振 写作时间:2020-06-13 ---- 开篇 在上篇的《Shapfile属性操作之增》和《Shapefile属性操作之删》中我们分别介绍了对于空间矢量数据属性的增加(CREATE)和删除(...案例介绍 这里我们要处理的数据是中国地图分省的矢量Shapefile,是一个面状数据。该数据有一个NAME字段,给出了每个省的名称。...Show me the code. from osgeo import ogr ogr.UseExceptions() # 打开一个Shapefile ds: ogr.DataSource = ogr.Open...name) # 修改完了记得Set一下 layer.SetFeature(feature) # 关闭数据集 ds = None 方法总结 首先,我们使用ogr.Open()函数打开Shapefile
properties': OrderedDict([('Name', '新疆维吾尔自治区'), ('CenterX', 84.9023), ('CenterY', 42.148)])} Shapefile...输出结果如下: 数据范围:(73.4766, 18.1055, 135.0879, 53.5693) 投影定义:{'init': 'epsg:4326'} 数据格式:ESRI Shapefile
Shapefile文件简介 Shapefile文件是美国ESRI公司发布的文件格式,因其ArcGIS软件的推广而得到了普遍的使用,是现在GIS领域使用最为广泛的矢量数据格式。...官方称Shapefile是一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式。 一般地,Shapefile文件是多个文件的集合,至少包括一个shp,shx以及dbf文件。...文件的话,需要根据shx文件中的信息读取shp中的二进制数据并转化为几何对象,然后再读取dbf表格,将属性添加到几何对象上就完成了对一个Shapefile文件的解析....英文好的同学,请转移到这里:ESRI Shapefile Technical Desc GDAL中矢量数据组织 GDAL中的栅格数据使用OGRDataSource表示(OGRDataSoruce是抽象类...Shapefile文件,并读取空间要素及其属性。
问题 FME打开Shapefile数据,字段名偶尔会有乱码的情况。 数据特点 经常有朋友会问,我的数据,ArcGIS里没问题的,怎么FME一读就乱码了? 划重点:ArcGIS里打开正常!...上面简单的划了个重点,ArcGIS里打开正常,那么我就想,FME能不能以ArcGIS读取Shapefile的方式将数据读进来呢? 用什么方式来读?...经过查找相关资料、帮助文档,我发现,FME是可以以ArcGIS读Shapefile的方式来读这种数据的。...其实,当我们用ArcGIS读取Shapefile数据的时候,你在导航栏里看到的,已经不是Shapefile了。如下图所示: ?...在这里,选Shapefile,然后再读到FME中,就不会乱码了! 其他的小技巧 其实,上面说了那么多,你都可以忽略! 做事情,我就喜欢,简单! 做数据处理,也一样! 你不妨,试试下面这种方式! ?
基本思路 使用GDAL创建Shapefile数据的基本步骤如下: 使用osgeo.ogr.Driver的CreateDataSource()方法创建osgeo.ogr.DataSource矢量数据集...使用osgeo.ogr.DataSource的CreateLayer()方法创建一个图层 使用osgeo.ogr.FieldDefn()定义Shapefile文件的属性字段 创建osgeo.ogr.Feature...的CreateFeature()添加Feature对象到当前图层 重复步骤4和5依次添加所有的Feature到当前图层即可 代码实现 下面的例子中,我们读取GeoJSON表示的中国省区数据,然后其转为Shapefile...可以看到每个Feature都有一个properties字段和geometry字段,我们需要根据properties字段的信息创建Shapefile数据的属性表,根据geometry字段创建Shapefile...open('China.json') as f: china = json.load(f) # 创建DataSource driver = ogr.GetDriverByName('ESRI Shapefile
基本思路 使用Fiona写入Shapefile数据,主要是构建一个Schema,然后将空间对象转为GeoJSON的形式进行写入。...代码实现 这里我们举两个例子进行说明:第一是将GeoJSON数据转为Shapefile,第二个是新建一个Shapefile,然后再里面写入自定义的空间几何数据。...GeoJSON的格式定义,参见:创建Shapefile文件并写入数据。...'name': 'str'}} # 使用fiona.open方法打开文件,写入数据 with fiona.open('Provinces.shp', mode='w', driver='ESRI Shapefile...', 'name': 'str'}} # 使用fiona.open方法打开文件,写入数据 with fiona.open('Beijing.shp', mode='w', driver='ESRI Shapefile
这里介绍如何导入我们常用的ESRI Shapefile数据到PostgreSQL数据库中,我们可以使用PostGIS提供的shp2pgsql和pgsql2shp工具进行导入和导出操作,还可以使用GDAL...-s指定空间参考系,PostGIS的参考系和EPSG代码是一样的,比如EPSG:4326表示WGS84地理坐标系 -I指定在新建的关系表的空间对象的那一列建立空间索引 然后,双引号引起来的是Shapefile...---- 下面说说数据的导出,我们可以使用psql2shp工具导出数据为Shapefile文件。
最近在处理数据,需要筛选陆地、海洋还有特定区域的信息进行分析,主要还是利用shapefile文件创建mask文件,然后进行筛选。...lat, method='nearest') ocean_sta = ds[idx.data < 1] land_sta = ds[idx.data > 0] 站点筛选可视化 当然也可以利用其它shapefile...文件创建mask文件筛选数据,比如江苏省shapefile文件。
今天在使用Java版GIS开源工具GeoTools读取ShapeFile文件,其中ShapeFile的dbf文件(属性表)中的属性为中文字符,按照官方的案例读取结果显示为乱码。...原始的代码为: /** * @description: 使用GeoTools库读取ShapeFile文件 * @author Zhenyu Tan * @date 2016年8月9日 下午10:...args) throws Exception { String filePath = "F:/2016/Data/中国/China/China.shp"; File shapeFile...= new File(filePath); FileDataStore dataStore = FileDataStoreFinder.getDataStore(shapeFile)...而我们中文操作系统下ShapeFile文件的默认编码一般为GBK,所以只要告诉ShapefileDataStore使用GBK编码进行解析就OK了。
概述 shapefile是常见的矢量数据格式,但是由于其文件组成结构很难在webgis上直接展示。...本文通过express和compressing实现打包后shapefile文件的上传,并结合shapefile.js实现shapefile数据的转换展示。 实现效果 实现代码 1....this.fileList = [] shapefile.open(url) .then(source => source.read() .then
R矢量地图栅格化(将shapefile转换成raster) 背景 在处理地图数据时候,经常会碰到shp与raster两种格式。通常r中应用较多的为raster栅格数据。shp文件太大,读取也不方便。...rasterize(shape, r, 1)里面有三个主要参数: shape是shp文件 r是要栅格化的范围及像素大小;需要先定义 1表示,栅格化后,所有值大小 library(raster) shape = shapefile
地图数据以海量著称,传统的做法是建立空间索引,优化查询等,这些并没有解决如何有效的组织地图数据,提高地图访问效率的问题。用GeoServer可以在用户之间迅速共...
首先,本文实现的结果图给大家展现一下: 放大的样子: 颜色是通过属性中某个字段值来分级的,可以自定义。 上面功能是用ArcGIS切片好数据,在Geoserver...
featureSource.getSchema(); SimpleFeatureTypeImpl typeImpl = (SimpleFeatureTypeImpl)featureType; //创建新的shapefile
领取专属 10元无门槛券
手把手带您无忧上云