标签: geoserver

如何通过GeoServer提供tiff WMS图像

我是GeoServer /数据库世界的新手.我以前从未做过任何数据库工作,但我需要使用GeoServer建立一个WMS作为我学生实习的一部分.

我在安装了PostgreSQL 8.4的独立模式(使用Jetty下载)中使用GeoServer 2.0.1.我的经历nyc_roadsnyc_buildings在GeoServer的文档中的安装演示,但我还是不明白,我应该如何去服务一些测试图像.我注意到nyc_roads安装程序包含一个负责设置nyc_buildings数据库的.sql文件.我不知道这个文件是如何生成的.

我们的测试图像是.tiff和.jpeg.我已经成功地在本地GeoServer机器上进行了WMS调用,并打开了包含的演示图像.我现在希望将这些.tiff和.jpeg图像添加到GeoServer并通过WMS访问它们.我曾尝试将图像复制到GeoServer数据目录,添加新的数据存储和图层,但我总是收到有关的错误input stream.

如果我遗漏重要信息,我很抱歉,这就像我所知道的那样.


编辑:

如下面的评论所述,我很困惑为什么GeoServer不会发布GeoTiff图像层.我为它创建了一个单独的工作区和数据存储.当我去添加GeoTiff图像时,正确读取边界框/地理坐标以及正确的EPSG格式.当我对设置感到满意时,我点击保存,但没有任何反应.没有错误消息或警告.

geoserver

5
推荐指数
1
解决办法
4619
查看次数

Geoserver - 如何绘制代表两点之间的大圆的测地线

我正在使用Geoserver 2.1.1版,Postgres 9和PostGIS 2.0

我想要达到的目标(我认为!)应该是非常直截了当的.我想在地图上渲染一条线,代表地球表面上两个城市之间的大圆.

我的数据库包含城市位置,表示为定义为纬度和经度对的地理点.

我有一个在Geoserver中定义SQL视图的图层,它从指定城市的两个坐标中检索一个线串(st_makeline).我不得不键入将地理位置转换为几何图形以使其工作.

但是当我在地图上绘制返回的线时,我得到的是一条直线,而不是我期待的曲线.

谁能告诉我应该怎么做呢?

谢谢!

gis postgresql postgis geoserver

5
推荐指数
1
解决办法
1391
查看次数

Hadoop和Geoserver

我打算开发一个基于Hadoop / HBase for Geotools的新数据存储,以便在Geoserver中使用它,以可视化Raster数据(平铺卫星图像)。有没有人做过类似的事情,甚至不知道这是否可能?我已经知道如何编译和集成像CSV这样的开源数据存储,但是我不知道如何开始在Hadoop上实现此数据存储。

谢谢。

hadoop hbase datastore geoserver geotools

5
推荐指数
1
解决办法
1266
查看次数

sun.security.provider.SHA2使用100%cpu并在一段时间后挂起5分钟

我有一个奇怪的行为,也许你可以帮助我.

环境是

  • jdk_7u40(尝试jdk_7u51具有相同的行为)
  • debian 6.0(在windows上我从未遇到过这个问题)
  • jboss 7.1.1
  • Geoserver 2.4.x(尝试.3和.4,结果相同),它基于spring框架
  • 其他战争模块(不是基于弹簧的,但geoserver对它们有一些依赖)

问题是,在jboss运行几个小时之后,当我尝试登录geoserver的web界面(对j_spring_security servlet的POST)时,花了很多时间(4-5分钟)登陆欢迎页面应用程序.

使用jstack,我发现有一个线程一直消耗100%的核心,并且这个过程在这里继续工作

at sun.security.provider.SHA2.lf_S(SHA2.java:162)
at sun.security.provider.SHA2.lf_sigma0(SHA2.java:171)
at sun.security.provider.SHA2.implCompress(SHA2.java:225)
at sun.security.provider.SHA2.implDigest(SHA2.java:118)
at sun.security.provider.DigestBase.engineDigest(DigestBase.java:186)
at sun.security.provider.DigestBase.engineDigest(DigestBase.java:165)
at java.security.MessageDigest$Delegate.engineDigest(MessageDigest.java:576)
at java.security.MessageDigest.digest(MessageDigest.java:353)
at java.security.MessageDigest.digest(MessageDigest.java:399)
at org.jasypt.digest.StandardByteDigester.digest(StandardByteDigester.java:979)
- locked <0x00000006f8c30bb0> (a java.security.MessageDigest$Delegate)
at org.jasypt.digest.StandardByteDigester.matches(StandardByteDigester.java:1099)
at org.jasypt.digest.StandardStringDigester.matches(StandardStringDigester.java:1052)
at org.jasypt.util.password.StrongPasswordEncryptor.checkPassword(StrongPasswordEncryptor.java:99)
at org.jasypt.spring.security3.PasswordEncoder.isPasswordValid(PasswordEncoder.java:204)
at org.geoserver.security.password.AbstractGeoserverPasswordEncoder.isPasswordValid(AbstractGeoserverPasswordEncoder.java:138)
at org.geoserver.security.password.GeoServerMultiplexingPasswordEncoder.isPasswordValid(GeoServerMultiplexingPasswordEncoder.java:75)
at org.springframework.security.authentication.dao.DaoAuthenticationProvider.additionalAuthenticationChecks(DaoAuthenticationProvider.java:64)
Run Code Online (Sandbox Code Playgroud)

有些人有类似的问题吗?

编辑(有解决方法)

我发现问题与CMS垃圾收集器和permgen空间的增加有关.

环境

应用程序服务器是JBoss 7.1.1,其中部署了5个war(Geoserver等).所有战争都有共同的依赖关系(也有Geoserver); Java正在运行-XX:+UseParallelOldGC -XX:SoftRefLRUPolicyMSPerMB=36000

怎么了

当执行一个完整的GC,PermGen的空间增加了许多上方的使用.之后,方法的计算sun.security.provider.SHA2.*变得非常缓慢.

我是怎么解决的

转移到G1GC垃圾收集器为我解决了问题(目前我正在使用以下选项-XX:+UseG1GC -XX:-UseAdaptiveSizePolicy -XX:SurvivorRatio=1 -XX:NewRatio=1 -XX:MaxTenuringThreshold=15 -XX:G1HeapRegionSize=32m)

java spring geoserver jboss7.x

5
推荐指数
1
解决办法
1459
查看次数

geoserver通过j_spring_security_check存储通过身份验证生成的cookie多长时间?

我有一个连接到地理服务器的网站,它通过j_spring_security_check从geoserver获取会话.geoserver给出的cookie有效期多长,我可以编辑它的到期时间吗?

authentication geoserver

5
推荐指数
0
解决办法
111
查看次数

根据当前边界框将GeoJSON图层从Geoserver加载到Leaflet Map

目前,我的地图有超过25000点.当我加载所有点时,地图非常慢.因此,我只想在某个缩放级别和边界框(用户视图)加载数据.如何使用我当前的代码实现这一目标?

var map = new L.Map('map', {center: new L.LatLng(54.0000, -125.0000), zoom: 5});
  var googleLayer = new L.Google('ROADMAP');      
  map.addLayer(googleLayer);

function BoundingBox(){
var bounds = map.getBounds().getSouthWest().lng + "," +     map.getBounds().getSouthWest().lat + "," + map.getBounds().getNorthEast().lng + "," + map.getBounds().getNorthEast().lat;
return bounds;
}
var geoJsonUrl ="http://localhost:8080/geoserver/Wells/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=Wells:bc_well_data_wgs&maxFeatures=25&outputFormat=text/javascript&format_options=callback:loadGeoJson"; 

var geojsonLayerWells = new L.GeoJSON();

function loadGeoJson(data) {
console.log(data);
geojsonLayerWells.addData(data);
};

$.ajax({ 
    url: geoJsonUrl, 
    dataType : 'jsonp',
    success: loadGeoJson
    });


map.on('moveend', function(){

    if(map.getZoom() >= 18){

        map.removeLayer(geojsonLayerWells);

        }
    if(map.getZoom() < 18){
        map.addLayer(geojsonLayerWells);
        }
        console.log(map.getZoom());
        console.log(BoundingBox());
    });
Run Code Online (Sandbox Code Playgroud)

bounding-box geoserver geojson leaflet

5
推荐指数
1
解决办法
1万
查看次数

使用OpenLayers显示WFS服务3.定义并添加自定义投影

我有一个非常简单的问题,我无法真正找到答案.

我正在使用OpenLayers 3.我想显示一个WFS服务,其中包含在GeoServer 2.6.2中定义的层.该层是使用我之前在GeoServer中定义的自定义参考系统定义的.我告诉你这个SRS:

+proj=lcc +lat_1=14.25 +lat_2=13.3166667 +lat_0=13.783333333333333    
+lon_0=-89 +x_0=500000.00004 +y_0=295809.17715 +k_0=0.999967040229754        
+a=6378206.4 +rf=294.9786982138982 +units=m  +no_defs 
+towgs84=0,105.5,197.2,0,0,0,0
Run Code Online (Sandbox Code Playgroud)

OpenLayers库无法识别此投影.我应该在调用WFS Servicek之前定义它.我在网页OpenLayers上查了很多例子,但我无法解决问题.

有人可以帮帮我吗?非常感谢你提前.

vector projection geoserver openlayers-3

5
推荐指数
0
解决办法
198
查看次数

如何使用apache tomcat 8部署geoserver web存档?

我想web archive在我的tomcat网络服务器上运行geoserver .我正在使用tomcat 8.
web archivegeoserver下载GeoServer 2.7.1.1 .当我想部署war文件时,出现错误如下: 在此输入图像描述

但是当我部署另一个war应用程序时,它正确部署.

哪里有问题?

webarchive geoserver tomcat8

5
推荐指数
1
解决办法
1186
查看次数

使用asp.net和iis在geoserver中进行身份验证

我不知道这是否是一个愚蠢的问题,但我如何将asp.net身份验证与openlayers"结合"?

我创建了一个登录页面,在openlayers中进行身份验证(在c#,服务器端),这是我的代码

Uri uri = new Uri("http://"+username+":"+password+"@localhost:1979/geoserver/wms");
        if (uri.Scheme == Uri.UriSchemeHttp)
        {
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
            request.Method = WebRequestMethods.Http.Post;

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader reader = new StreamReader(response.GetResponseStream()); string tmp = reader.ReadToEnd();
            response.Close();
            Response.Write(tmp);
        }
Run Code Online (Sandbox Code Playgroud)

我不知道这是否是解决问题的正确方法,无论如何,如果我达到目标(在地理服务器中使用用户名和密码进行身份验证),我该如何将此身份验证与openlayers结合使用,这是在用户端(javascript)

提前致谢

javascript asp.net geoserver openlayers

4
推荐指数
1
解决办法
3113
查看次数

通过请求参数设置 wms 样式

一般来说:
是否可以根据 cql 过滤器或其他参数从单个 wms 查询中对某些 wms 功能进行不同的样式设置?
特别是:
在 wms 查询中,返回特征集合的栅格(即样式为红点的点),wms 功能
我希望 geoserver 对 wms 请求发送的 http-req-parameter 标识的一个特定功能进行不同的样式(蓝点)
在此处输入图片说明
使用默认样式将其他样式保留在集合中,
并避免两个 wms 重叠:
在此处输入图片说明

geoserver

4
推荐指数
1
解决办法
3028
查看次数