在将shapefile数据导入postgis1.5中,导入polygon时,当getNumPoints大于2000(大概,没仔细统计过),postgis中geometry显示为空值,在admin中,郁闷很久。附部分代码,
source = shpDataStore.getFeatureSource("world");
FilterFactory2 filterFactory2 = CommonFactoryFinder.getFilterFactory2(null);
FeatureCollection collection = source.getFeatures(filterFactory2.not(CQL.toFilter("NAME like ''")));
// FeatureCollection collection = source.getFeatures();
System.out.println(collection.size());
// Transaction transaction = new DefaultTransaction();
FeatureWriter<SimpleFeatureType, SimpleFeature> featureWriter = dataStore.getFeatureWriter("province",
Transaction.AUTO_COMMIT);
try {
for (Iterator iterator = collection.iterator(); iterator.hasNext();) {
SimpleFeature feature = (SimpleFeature) iterator.next();
System.out.println(feature.getAttribute("NAME"));
SimpleFeature newFeature = featureWriter.next();
newFeature.setAttribute(0, feature.getAttribute("NAME"));
newFeature.setAttribute(1, "中国");
Object geometry = feature.getDefaultGeometry();
if (geometry instanceof MultiPolygon) {
MultiPolygon multiPolygon = (MultiPolygon) geometry;
Polygon polygon = null;
int i = 0;
while (polygon == null && i <= multiPolygon.getNumGeometries()) {
polygon = (Polygon) multiPolygon.getGeometryN(i);
i++;
}
if (polygon != null) {
int pointCount = polygon.getNumPoints();
System.out.println(i + " polygon:" + polygon.getNumPoints());
System.out.println(pointCount / 1000);
newFeature.setAttribute(2, polygon);
System.out.println("第一个");
}
}
featureWriter.write();
}
// transaction.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
// transaction.close();
featureWriter.close();
}
结果还是reference找到答案
PostGIS 1.5.1 Manual 写道
3.11.
I did an ST_AsEWKT and ST_AsText on my rather large geometry and it returned blank field. What gives?
You are probably using PgAdmin or some other tool that doesn't output large text. If your geometry is big enough, it will appear blank in these tools. Use PSQL if you really need to see it or output it in WKT.
--To check number of geometries are really blank
SELECT count(gid) FROM geotable WHERE the_geom IS NULL;
分享到:
相关推荐
这个“PostGIS 中文手册(3.0)”是针对 PostGIS 3.0 版本的详细指南,旨在帮助用户理解和掌握如何在 PostgreSQL 中有效地管理和操作空间数据。 PostGIS 提供了丰富的空间数据类型,如点、线、面,以及更复杂的几何...
PostGIS最早作为一种空间数据库技术研究项目,由Refractions Research Inc所开发。Refractions公司是一个GIS 和数据库咨询公司,他们在Victoria, British Columbia, Canada均有业务开展,专注于数据集成和定制化软件...
- 安装过程中可能会遇到一些常见问题,需要掌握问题解决技巧。 2. 数据管理与查询 - PostGIS遵循OpenGIS的WKB和WKT规范,以及PostGIS扩展的EWKB和EWKT规范。 - 提供地理数据类型,如geometry和geography,以及何时...
Shp 导入 PostGIS 中的过程 Shp 文件是一种常用的矢量图形文件格式,广泛应用于地理信息系统(GIS)领域。PostGIS 是一个基于 PostgreSQL 的空间数据库扩展,提供了强大的空间数据存储和分析功能。将 Shp 文件导入 ...
PostGIS 是一个强大的开源扩展,它将空间地理数据处理功能集成到 PostgreSQL 数据库管理系统中,使得 PostgreSQL 成为一个全面的地理信息系统(GIS)。这个“postgis-2.2.0dev 手册中文版(伏念译)”是 PostGIS 2.2.0...
PostGIS是一个对象关系型数据库系统PostgreSQL的扩展,它能吧GIS(地理信息系统)类型对象存储在数据库中。 PostGIS有基于GiST的-R树空间索引的支持以及丰富的分析和GIS对象的处理函数支持本文档为postgis官方2.2...
文档中不仅解释了如何安装和配置PostGIS,还提供了SQL函数和类型的参考,以及示例代码来帮助理解如何使用这些功能。通过学习文档,你可以了解如何创建空间表、执行空间查询、进行地理编码和反地理编码,以及如何利用...
安装完PostgreSQL后,PostGIS的扩展可以通过`CREATE EXTENSION` SQL命令在数据库中启用。例如: ```sql CREATE EXTENSION IF NOT EXISTS postgis; ``` 这会在你的数据库中添加必要的函数、类型和视图,以便处理...
在PostGIS中,索引集群是一种优化数据库查询性能的技术,尤其对于地理空间数据处理来说,其重要性不言而喻。本教程将深入探讨PostGIS中的索引集群及其对提高数据访问速度的影响。 首先,理解索引的概念是关键。在...
以下是各个源码包的功能和它们在构建 PostGIS 中的作用: 1. **geos-3.8.1.tar**: GEOS (Geometry Engine - Open Source) 是一个基于 C++ 实现的几何对象操作库,提供了一系列高级的几何操作,如拓扑关系判断、几何...
kartoza-docker-postgis,带postgis的postgresql13版本的docker镜像。 可直接通过docker导入镜像命令导入。...设置时启用数据库中的多个扩展。 自动为 pg raster 注册 Gdal 驱动程序。 支持外部数据库栅格。
在本文中,我们将深入探讨PostGIS 3.0.0在GIS领域的应用,PostgreSQL的集成,以及如何在Linux环境下安装和使用这个软件包。 首先,PostGIS的核心功能在于其空间数据处理能力。它支持多种空间数据模型,包括点、线、...
描述中提到“postgis的官网上不去”,这可能是因为网络问题或者官方站点暂时不可访问。在这种情况下,分享这个jar包是为了确保开发者或用户能够获取到所需的驱动,以便在自己的项目中连接和操作PostGIS数据库。"可以...
在PostGIS中,空间数据以几何对象的形式存储,如点、线和多边形,这些对象可以代表地图上的任何地理位置。通过使用SQL查询,用户可以对这些空间数据进行复杂的操作,例如搜索特定区域内所有的建筑或计算两个地点之间...
在整个安装过程中,用户需要配置 PostGIS Extension,以便正确地安装和使用 PostGIS 功能。 PostGIS 使用指导 ---------------- 1. 创建 PostGIS 数据库 用户可以使用 PostGIS Extension 创建 PostGIS 数据库,并...
PostGIS 3.0.1 是 PostGIS 的一个更新版本,增加了更多的功能和修复了一些已知问题。对于 PostgreSQL 12 用户来说,这个扩展包是非常重要的,因为它允许存储、处理和分析地理位置数据,这对于构建地理信息系统(GIS...
在Linux环境中,这个离线包允许用户在没有网络连接的情况下安装和配置PostGIS。 PostGIS的核心功能在于它能够将二维的数据库扩展到支持地理坐标系统的多维空间。它提供了丰富的函数和操作符,用于处理几何对象,如...
在IT行业中,PostGIS的应用非常广泛,尤其是在地理信息系统(GIS)和空间数据库领域。接下来将详细介绍PostGIS 2.4.5版本中的多个知识点。 首先,PostGIS文档通常包含安装指南和配置信息。PostGIS 2.4.5的安装文档...
PostGIS 的文档还包含了大量针对用户在实际使用过程中遇到的常见问题的解答,这些问题涵盖了从安装配置到数据管理的各个方面。 总之,PostGIS 作为一个功能强大的空间数据库扩展,不仅提供了丰富的函数和工具支持...
在实际操作中,我们首先需要在PostGIS中导入和处理地理空间数据,如道路图层、交通信号位置、限制通行区域等。然后,使用pgrouting的函数建立网络模型,定义节点和边。一旦网络建立完成,就可以进行路径查询了。例如...