我目前在Openlayers中使用WFS,但是层的位置错误,如果我是对的,问题来自srsName,但是如何更改它?
以下是我的WFS代码:
var WFSSource = new VectorSource({
format: new GeoJSON(),
url: function(extent) {
return 'http://localhost:8081/geoserver/occi/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=occi%3Aocci&maxFeatures=5&outputFormat=application%2Fjson';
},
strategy: bboxStrategy,
});
var WFSLayer = new VectorLayer({
source: WFSSource
});
几何图形应该位于国家的底部。我认为VectorSource有一个默认的srsname,但我不知道如何更改它。顺便说一句,在这个链接上:https://openlayers.org/en/latest/examples/vector-wfs.html他们展示了如何使用WFS,他有以下代码行:
url: function(extent) {
return 'https://ahocevar.com/geoserver/wfs?service=WFS&' +
'version=1.1.0&request=GetFeature&typename=osm:water_areas&' +
'outputFormat=application/json&srsname=EPSG:3857&' +
'bbox=' + extent.join(',') + ',EPSG:3857';
},
他定义了srsName,但不适用于我。
-----更新-----
检查投影后,我发现:
>
我的地图有默认投影-
My TileWMS没有设置,但文档中说参数是动态设置的。东西在Geoserver上,我使用“EPSG:2154”,但地图和这个TileWMS完美匹配,我不知道如何匹配。
我的矢量源有格式-
现在我想知道如何把所有的东西都放在同一个投影上,但是我很挣扎。
如果我用EPSG: 2154(Geoserver中我的图层的本机SRC)更改地图投影,我有以下错误:
无法读取null的属性“getExtent”。
如果我试图改变我的VectorSource投影什么也没发生,我的VectorSource停留在“EPSG: 4326”
var WFSSource = new VectorSource({
format: new GeoJSON(),
url: function(extent) {
return 'http://localhost:8081/geoserver/occi/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=occi%3Aocci&maxFeatures=5&outputFormat=application%2Fjson';
},
projection : "EPSG:2154",
strategy: bboxStrategy
});
ol/源和ol/视图具有投影。默认投影为EPSG:3857。如果您的数据或底图不同,那么EPSG:3857您应该定义它。
import Map from 'ol/Map';
import View from 'ol/View';
import VectorLayer from 'ol/layer/Vector';
import VectorSource from 'ol/source/Vector';
const map = new Map({
layers: [
new VectorLayer({
source: new VectorSource({
projection: 'EPSG:3857',
})
})
],
target: 'map',
view: new View({
projection: 'EPSG:3857',
})
});
Geoserver2.5中的WFS实现存在严重错误。 我将数据集加载到SQL Server和PostGIS中。该数据集由几个点组成,采用本机EPSG:3857。 已为SQL Server连接设置Geometry_Columns表,并且在Geoserver设置中一切正常。 但是,尝试通过OpenLayers访问WFS: wfs1.0。0 |获取|修复| SQL Server WFS 1.0.0|GE
我正在使用OpenLayers 3.20开发一个Web应用程序。0,层来自GeoServer,链接到Oracle数据源。此应用程序主要使用ImageWMS层,也使用矢量层进行交互和编辑。问题是地图绘制速度非常慢,绘制了30000多条多段线,我想让这个过程更快:-) 所以我想知道最好的方法是什么。我找到了两种方法: 在ImageWMS层中更改我的矢量层,并仅在选择或编辑时手动加载所需的功能,但它要求
我正在尝试从GeoServer 2.3.0获取json功能。我复制了一个示例中的代码,它按预期工作。但是,当我将url设置为我的GeoServer和所需的图层时,返回的格式不同,并导致此错误:“未捕获的SyntaxError:意外标记:” 示例服务器以以下格式返回json功能: OpenLayers.协议。script.registry.c1({"type":"FeatureCollection"
问题内容: 在后面的代码中设置很容易,但是这会覆盖现有类。 我需要设置某些元素,并且我想应用一种样式作为视觉提示,说明该项目不能更改…很容易: 但是有时我 还 需要更改相同的元素,这意味着我将需要删除设置的CSS类,而不删除可能已分配的任何其他样式。 最好的方法是什么? 问题答案: 我采用了AnthonyWJones的原始代码并对其进行了修改,以使其在任何情况下均能正常工作:
问题内容: 我在Eclipse Helios中遇到一个奇怪的问题。当我更改源代码时,所做的更改无效。即使我以看起来无法编译的方式更改代码,它仍然可以运行。 似乎在我编辑和保存源并将其提交到svn时,Eclipse将其状态保留在后台的某个位置。 我不知道要查询什么设置或要做什么。我很高兴得到任何帮助。 最好的问候,大卫 问题答案: 注意:只有在该线程中的其他选项用尽时,才可以尝试此操作。 因此,以防
我已经发布了一个层,其中包含大约76列(属性)。但是,当我调用WFS服务时,它没有返回所有属性(列),会遗漏一个名称为“id”的属性(列)。我使用的是oracle Spatial 11g数据库,其中包含地图数据。我是不是漏掉了什么?所有其他的事情都工作得很好,就像WMS服务一样。