问题标签 [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.
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、缓冲区......)。我会在接下来的几天里看看这个。
你有更多的想法吗?
java - 如何使用 GeoTools/ProJ.4(或其他 api)将坐标从 HK80 GRID 转换为纬度/经度?
如何将一组 hk80 网格转换为纬度/经度?
HK 1980 Grid 是 EPSG 2326,而 Lat/Long WGS84 是 EPSG 4326
或者有没有更适合这样做
postgresql - 如何使用 GeoTools 从 hstore 列中过滤数据?
我正在尝试使用 GeoTools 从启用 PostGIS 的数据库中的特征表中过滤特征。
我的配置:
- PostgreSQL 8.4
- 地理信息系统 1.5
- 渗透 0.40.1
- OSMembrane 构建 845
- 地理工具 2.7.4
设置
我通过按顺序执行这些 sql 脚本来设置启用 postgis 的数据库:
- [PATH_TO_POSTGRESQL_8.4]/share/contrib/postgis-1.5/postgis.sql
- [PATH_TO_POSTGRESQL_8.4]/share/contrib/postgis-1.5/spatial_ref_sys.sql
- [PATH_TO_POSTGRESQL_8.4]/postgresql/8.4/contrib/hstore.sql
- [PATH_TO_OSMOSIS_0_40_1/script/pgsnapshot_schema_0.6.sql
然后我导入一些我使用 OSMembrane 从 europe.osm 提取的 .osm 数据。
到目前为止,一切都很好。所有表都包含一些数据。然后我尝试阅读一个特征表,例如“方式”,它看起来像这样:
特别是“标签”列包含我想用于过滤的键/值对。当尝试在 SQL 中通过“自然 = 海岸线”过滤行时,我得到约 550 个结果行。
使用 GeoTools 尝试此操作无法按预期工作,因为此示例有望向您展示。
运行此应用程序时,我得到:
hstore 和 bigint[] 列是否存在问题,或者我是否在滥用 GeoTools?也许,你可以给我一些提示。
postgis - 如何使用 AffineTransformation 正确地将 GeoTools 的特征渲染到图像?
我正在尝试正确地将我从使用 GeoTools 的启用 PostGIS 的数据库的功能表中读取的一些功能呈现到图像中。
我的配置:
- PostgreSQL 8.4
- 地理信息系统 1.5
- 渗透 0.40.1
- OSMembrane 构建 845
- 地理工具 2.7.4
到目前为止,在边界框内渲染一些特征效果很好。
问题:我得到的结果是
- 旋转 90°(顺时针)
- 在 y 轴上镜像
我要渲染的功能就是基于这个CoordinateReferenceSystem
我知道执行仿射变换,所以我编写了以下代码:
这有效并且使功能看起来很好!另一方面,这感觉不太对劲。问题是,为什么我不能使用在graphics
-object 上应用的相同转换作为渲染器的paint
-method 的方法参数?
例如
这总是会导致屏幕空白。我认为,它呈现在可见区域之外的某个地方。我知道 geotools 网站上的教程,但我错过了一些将所有东西放在一起的地方。
我期待任何有用的提示。
java - 谷歌地球热图的Java图像生成
我正在开发一个处理一些数据并生成热图以显示结果的 Java 程序。该程序获取一个目标区域并将该区域划分为一个网格,为了测试每个单元格为 1NM x 1NM。我生成了一个 KML 文件,网格中的每个单元格都由一个多边形表示,多边形根据单元格的值着色。但是,由于可能使用的数据量很大,我担心 Google 地球可能无法处理所绘制的多边形数量(数百个多边形)。
我听说 Google 地球的图片资源较少,所以有没有办法在热图的 Java 中生成图像(如 .jpg 或 .png)并将其覆盖在 Google 地球中。已知单元格的中心并计算 4 个角,每个单元格的 RGB 和十六进制值已知。我使用 Geotools 和 JAK 作为这个项目的库。任何帮助将不胜感激。
maven - 使用 maven+geotools jai-imageio / kakadu 运行时错误构建可执行 jar
按照此处的说明, 我尝试为基于 geotools 的项目构建一个可执行 jar,以将其分发给用户。
现在在运行时我收到以下错误
在运行时。
有谁知道如何解决这个问题(也许通过强制 geotools 不使用任何本机库?)
java - Geotools 在 SimpleFeatureCollection 上嵌套循环
我想在 SimpleFeatureCollection 上做一个嵌套循环。对于每个点,我都需要找到它的邻居并处理它们。
但是,SimpleFeatureCollection 只允许迭代器,但不允许数组访问,这使得(至少看起来如此)不可能实现嵌套循环。这个迭代器没有previous() 方法,所以我不能重置它并在同一个集合上使用两个迭代器。
所以我想知道是否有其他方法可以通过索引访问功能。
谢谢
collections - GeoTools:创建一个点并将其添加到 featureCollection
我正在实现轨迹点的插值。所以,基本上,我需要沿着从起点到终点的方位角创建几个点。问题是,我无法将创建的点添加到集合中:
但是,当我运行它时,集合大小不会改变,并且不会将任何内容添加到该集合中。我不确定这里有什么问题。
谢谢,
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 找不到必要的库吗?
jogl - GeoTools 和 JOGL
我正在为 Windows 开发一个桌面应用程序,它将不断显示地图随着车辆移动而移动,从 GPS 单元获取位置。我写了一个快速的小演示来完成这个,但是它经常闪烁。我需要实现一个具有良好平滑运动的解决方案。我有几件事希望能解决这个问题。
首先,我认为最好将地图创建为可见窗口大小的 2 到 3 倍,然后将窗口移动到地图上。当窗口靠近一侧时,会在背景中构建一个新地图,以替换当前地图。我仍在研究如何做到这一点。(欢迎提示!!哈哈)
我认为这将是向前迈出的一大步,也是为应用程序打开硬件加速的最终解决方案。根据我在论坛上阅读的内容,JOGL 是向 Java 桌面应用程序添加硬件加速的唯一实用方法。所以我在这里。
有没有人玩弄将 JOGL 添加到 GeoTools。我现在不是在谈论 3D,只是让显示更有效率。看起来实现这一更改将是一项艰巨的工作,因为它似乎会影响 JMapPane 以后的几乎所有代码。任何建议、代码示例和提示将不胜感激!!!