我的github
posts - 3243,  comments - 42,  views - 158万

 

 Soojin Kim &@hg_ryoo

, #FOSS4G Boston Best Students Paper Awardees, talk about how to extend geotools/geoserver to 3D handling.

>>https://www.youtube.com/watch?v=EGf3832F1B0(Maybe it’s time to do something with all those 3D city models?)

加载矢量数据,图层叠加,渲染出图。。

GTRenderer renderer is the reason why you signed up for this whole GeoTools experience; you want to see a Map.

GTRenderer is actually an interface; currently there are two implementations:

  • StreamingRenderer - a great implementation that does not cache anything. This decision makes it easier to understand and allows it to tackle that large data sets without running out of memory.

  • ShapefileRenderer - (unsupported) restricted to shapefiles as a playground for trying out speed improvements. However all the good optimizations have been picked up by StreamingRenderer.

https://docs.geotools.org/stable/userguide/library/render/gtrenderer.html

Original URL: https://github.com/geotools/geotools/wiki/partial-3d-data-support

partial 3d data support - geotools/geotools Wiki

Description

At the time of writing GeoTools is aggressively making sure only 2 dimensional data enters feature geometries. In particular, in most data sources that might have a 3D component the code is flattening the coordinates so that only the horizontal component is provided.
Coordinate reference systems are always 2 dimensional, too. Finally, only 2 dimensional geometry types are handled (JTS types).

On the other side of the 3D support spectrum there are 3 or more dimensional coordinate reference systems (fully 3D, or compound), 3D coordinates and solid geometries (such as spheres, cones, boxes).

This proposal attempts to bring some 3D support into GeoTools, to the extent that is already covered by various other software.
In particular, the geometry coordinates will be allowed three (or more) dimensions, whilst the coordinate refere

nce system used will still be two dimensional. This approach is already followed by various software around:

  • PostGIS, which only handles two dimensional SRS but has an explicit coord_dimension column to declare the actual dimension of the coordinates
  • GML3 posList element, which has at the same time a srsName and a srsDimension attribute, allowing the two to be out of synch. Various CityGML examples do in fact sport a 2D SRS (or no SRS at all) but explicitly set srsDimension="3"
  • shapefiles generated by ESRI sofware typically have a 2D WKT definition in the shapefile.prj file whilst the shapefile nature is pointz or arcz
  • Oracle Spatial previous to 11G, and even 11G without explicit settings, allow 3D data to be handled whilst the spatial reference system used is by dimensional.

All the above systems make no different between a Z and a M (measure), basically handling every dimension past the first two as sort of out of band information that does not get transformed when the first two dimensions are.
In particular, coordinate system transformations do change the planar part whilst the extra dimensions are carried over unaltered.

The proposed changes to the GeoTools code base are relatively small:

  • allow data sources that happen to have non flat data to return it as is, unless the existing Hints.FEATURE_2D is passed down (in which case, the geometries will be flattened as today)
  • keep the current flat CoordinateReferenceSystem in the GeometryDescriptor, and add a well known COORDINATE_DIMENSION entry in its userData map so that the coordinate dimensionality is explicit even in absence of data (for code that needs to deal with metadata only)
  • leverage the CoordianteSequence.getDimension() when only the geometry is available (this might mean we'll need to subclass the default JTS coordinate sequence, CoordinateArraySequence, as that has a hard coded dimension of 3, so that we can report the actual dimension, or else, to check the Z of all cordinates in it and decide the real dimensionality based on the values of the Z, 2d if the Z is always a NaN, 3d if there is at least one non NaN value)
  • extend RefencedEnvelope to support more than 2 dimensions
  • modify the geometry and envelope transformation code so that only the first two dimensions are transformed, whilst the other dimensions are carried along unaltered

http://old.geotools.org/

https://github.com/geotools/geotools/wiki/partial-3d-data-support

Render

Supports the rendering of geospatial information using the Java2D API.

../../_images/gt-render.png

This is most likely the reason you are interested in the GeoTools library - this module finally lets you draw a map using all that data you set up.

https://docs.geotools.org/stable/userguide/library/render/index.html

posted on   XiaoNiuFeiTian  阅读(202)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2021-02-07 gulp和webpack的区别和联系
2021-02-07 Cesium-CesiumWidget, Viewer, Scene三者之间的关系
2019-02-07 Tensorflow从源代码编译2
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示