问题标签 [geotools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1305 浏览

performance - 指标和性能

我是 Geotools 的新手并面临这个问题:我在 PostGis 中注入了大约 2MB 的 shapefile 信息(大约 5800 个条目),令人惊讶的是,它大约需要 6 分钟才能完成!很烦人,因为我的“真实”数据集按 shapefile 组(shp、dbf ...)可能高达 25MB,需要 100 个组。

有人告诉我这可能是一个索引问题,因为 Postgre 会在每个 INSERT 上更新表的索引。有没有办法在我的大量插入期间“禁用”这些索引并告诉数据库最后创建所有索引?还是有更好的方法来做到这一点?

这是我的代码片段:

感谢您的帮助!


所以我测试了你的解决方案,但没有什么能帮助我更多......完成时间仍然相同。这是我的表定义:

  • FID 序列号 10
  • the_geom 几何 2147483647
  • xxx varchar 10
  • xxx int4 10
  • xxx varchar 3
  • xxx varchar 2
  • xxx浮动8 17
  • xxx浮动8 17
  • xxx浮动8 17

所以我不认为问题与我的代码或数据库直接相关,可能是由于系统限制(RAM、缓冲区......)。我会在接下来的几天里看看这个。

你有更多的想法吗?

0 投票
1 回答
3209 浏览

java - 如何使用 GeoTools/ProJ.4(或其他 api)将坐标从 HK80 GRID 转换为纬度/经度?

如何将一组 hk80 网格转换为纬度/经度?

HK 1980 Grid 是 EPSG 2326,而 Lat/Long WGS84 是 EPSG 4326

或者有没有更适合这样做

0 投票
2 回答
1957 浏览

postgresql - 如何使用 GeoTools 从 hstore 列中过滤数据?

我正在尝试使用 GeoTools 从启用 PostGIS 的数据库中的特征表中过滤特征。

我的配置:

  • PostgreSQL 8.4
  • 地理信息系统 1.5
  • 渗透 0.40.1
  • OSMembrane 构建 845
  • 地理工具 2.7.4

设置

我通过按顺序执行这些 sql 脚本来设置启用 postgis 的数据库:

  1. [PATH_TO_POSTGRESQL_8.4]/share/contrib/postgis-1.5/postgis.sql
  2. [PATH_TO_POSTGRESQL_8.4]/share/contrib/postgis-1.5/spatial_ref_sys.sql
  3. [PATH_TO_POSTGRESQL_8.4]/postgresql/8.4/contrib/hstore.sql
  4. [PATH_TO_OSMOSIS_0_40_1/script/pgsnapshot_schema_0.6.sql

然后我导入一些我使用 OSMembrane 从 europe.osm 提取的 .osm 数据。

到目前为止,一切都很好。所有表都包含一些数据。然后我尝试阅读一个特征表,例如“方式”,它看起来像这样:

特别是“标签”列包含我想用于过滤的键/值对。当尝试在 SQL 中通过“自然 = 海岸线”过滤行时,我得到约 550 个结果行。

使用 GeoTools 尝试此操作无法按预期工作,因为此示例有望向您展示。

运行此应用程序时,我得到:

hstore 和 bigint[] 列是否存在问题,或者我是否在滥用 GeoTools?也许,你可以给我一些提示。

0 投票
1 回答
1570 浏览

postgis - 如何使用 AffineTransformation 正确地将 GeoTools 的特征渲染到图像?

我正在尝试正确地将我从使用 GeoTools 的启用 PostGIS 的数据库的功能表中读取的一些功能呈现到图像中。

我的配置:

  • PostgreSQL 8.4
  • 地理信息系统 1.5
  • 渗透 0.40.1
  • OSMembrane 构建 845
  • 地理工具 2.7.4

到目前为止,在边界框内渲染一些特征效果很好。
问题:我得到的结果是

  1. 旋转 90°(顺时针)
  2. 在 y 轴上镜像

我要渲染的功能就是基于这个CoordinateReferenceSystem

我知道执行仿射变换,所以我编写了以下代码:

这有效并且使功能看起来很好!另一方面,这感觉不太对劲。问题是,为什么我不能使用在graphics-object 上应用的相同转换作为渲染器的paint-method 的方法参数?

例如

这总是会导致屏幕空白。我认为,它呈现在可见区域之外的某个地方。我知道 geotools 网站上的教程,但我错过了一些将所有东西放在一起的地方。

我期待任何有用的提示。

0 投票
2 回答
1718 浏览

java - 谷歌地球热图的Java图像生成

我正在开发一个处理一些数据并生成热图以显示结果的 Java 程序。该程序获取一个目标区域并将该区域划分为一个网格,为了测试每个单元格为 1NM x 1NM。我生成了一个 KML 文件,网格中的每个单元格都由一个多边形表示,多边形根据单元格的值着色。但是,由于可能使用的数据量很大,我担心 Google 地球可能无法处理所绘制的多边形数量(数百个多边形)。

我听说 Google 地球的图片资源较少,所以有没有办法在热图的 Java 中生成图像(如 .jpg 或 .png)并将其覆盖在 Google 地球中。已知单元格的中心并计算 4 个角,每个单元格的 RGB 和十六进制值已知。我使用 Geotools 和 JAK 作为这个项目的库。任何帮助将不胜感激。

0 投票
0 回答
361 浏览

maven - 使用 maven+geotools jai-imageio / kakadu 运行时错误构建可执行 jar

按照此处的说明, 我尝试为基于 geotools 的项目构建一个可执行 jar,以将其分发给用户。

现在在运行时我收到以下错误

在运行时。

有谁知道如何解决这个问题(也许通过强制 geotools 不使用任何本机库?)

0 投票
2 回答
1059 浏览

java - Geotools 在 SimpleFeatureCollection 上嵌套循环

我想在 SimpleFeatureCollection 上做一个嵌套循环。对于每个点,我都需要找到它的邻居并处理它们。

但是,SimpleFeatureCollection 只允许迭代器,但不允许数组访问,这使得(至少看起来如此)不可能实现嵌套循环。这个迭代器没有previous() 方法,所以我不能重置它并在同一个集合上使用两个迭代器。

所以我想知道是否有其他方法可以通过索引访问功能。

谢谢

0 投票
1 回答
2059 浏览

collections - GeoTools:创建一个点并将其添加到 featureCollection

我正在实现轨迹点的插值。所以,基本上,我需要沿着从起点到终点的方位角创建几个点。问题是,我无法将创建的点添加到集合中:

但是,当我运行它时,集合大小不会改变,并且不会将任何内容添加到该集合中。我不确定这里有什么问题。

谢谢,

0 投票
1 回答
1206 浏览

java-native-interface - GeoTools/GDAL:警告:无法加载 kakadu 本机库

我正在尝试使用 GeoTools 读取 dted 文件,但我遇到了很多配置问题。我正在使用eclipse和java。这是我的代码的精简版:

导入 org.geotools.coverageio.gdal.dted.DTEDReader;

当我运行时,控制台会显示一条消息“警告:无法加载 Kakadu 本机库”。然后它继续打印 UnsatisfiedLinkError 的堆栈跟踪。

我的系统路径包括: C:_path C:\Program Files\gdal-1.9.0 C:\%JAVA_HOME%\bin C:\Program Files\Common Files\ESRI\Raster\bin\ntx86

最后一个包含很多 dll,包括我在我的机器上找到的唯一一个名称中有 kakadu 的 dll。

在 C:_path 我有这个:
gdal19.dll
gdaljni.dll
ogrjni.dll
osrjni.dll
gdalconstjni.dll
gdal.jar

这些文件也被复制到我的 Eclipse 项目的根目录中。我的 Eclipse 构建路径包括 gdal.jar 和在 C:\Program Files\geotools-2.7.4 中找到的每个 jar

在我的 Eclipse 项目的根目录中,我有这个:

gdal19.dll
gdaljni.dll
ogrjni.dll
osrjni.dll
gdalconstjni.dll
kakaducoresys.dll

哦,是的,我定义了另一个环境变量:GDAL_DATA 设置为“C:\Program Files\gdal-1.9.0”

有人可以向我解释为什么 DTEDReader 找不到必要的库吗?

0 投票
1 回答
297 浏览

jogl - GeoTools 和 JOGL

我正在为 Windows 开发一个桌面应用程序,它将不断显示地图随着车辆移动而移动,从 GPS 单元获取位置。我写了一个快速的小演示来完成这个,但是它经常闪烁。我需要实现一个具有良好平滑运动的解决方案。我有几件事希望能解决这个问题。

首先,我认为最好将地图创建为可见窗口大小的 2 到 3 倍,然后将窗口移动到地图上。当窗口靠近一侧时,会在背景中构建一个新地图,以替换当前地图。我仍在研究如何做到这一点。(欢迎提示!!哈哈)

我认为这将是向前迈出的一大步,也是为应用程序打开硬件加速的最终解决方案。根据我在论坛上阅读的内容,JOGL 是向 Java 桌面应用程序添加硬件加速的唯一实用方法。所以我在这里。

有没有人玩弄将 JOGL 添加到 GeoTools。我现在不是在谈论 3D,只是让显示更有效率。看起来实现这一更改将是一项艰巨的工作,因为它似乎会影响 JMapPane 以后的几乎所有代码。任何建议、代码示例和提示将不胜感激!!!