0 votes
1 view
Hi!

I need to use my own map instead of OSM as base layer.

I created some layers on local geoserver, grouped them into a group (my_group). I can see my map on geoserver by WMS request.

I do not understand how to get this map from Knowage, how to create a base layer.

Here is my "base layer", but it is do not work:

Layer

Default Layer Category: Default Layer Category
Label: my_base_layer
Name: my_base_layer
Layer description: my_base_layer
Base Layer: yes
Layer type: WMS
Layer label: my_group
Layer name: my_group
Layer id: my_group
Layer order: 0 (tried as well: 1)
Url: http://192.168.1.38:8080/geoserver/my/wms?request=GetMap&layers=my:my_group&
Options: format=application/openlayers2&srs=EPSG:4326&
Params: bbox=54.19405906864477,57.0881289,54.664951172405004,57.42371695700162&WIDTH=1024&HEIGHT=768

Need any help.

Best regards, Vladimir
Environment Knowage 7.1, Windows 7, Windows server 2012, Firefox 74 (64 & 32)
asked Mar 23, 2020 in Location Intelligence by vladimirmb (140 points) | 1 view

1 Answer

0 votes

Dear Vladimir,

if you are using the map engine at the moment there is no possibility to change the base layer. 
I suggest you to use the map widget inside the cockpit instead. We made a recent change in that widget in order to get different base layers natures and that should allow your map type.

Regards

Davide

answered Mar 24, 2020 by redjaw (11,310 points)

Hi, redjaw!

Thank you very much for your answer!

Pity about a baselayer - I was able to use it in SpagoBI.

Of course I finded the way to use background layer inside cockpit. But the problem did't disappear.

My map on GEOSERVER consist of several layers (8 layers). They are grouped and I need to have this group layer as background layer (here is example):

But I was able to use only 1 layer (created it as json-file - unloaded it from GEOSERVER):

I need your help about writing correct URL string as well Params and Options to create WMS layer (and WFS layer too) to use it as background in COCKPIT.

Best regards

Vladimir

Hello Vladimir,

at the moment Knowage does not have the functionality to use layer groups.
So to help you with your specification you can use this workaround:
create static file datasets for every layer using your geojson, then use them as static layers and you can decide how to overlay them.

If you need layer groups via WMS I suggest you to contact our sales team for custom Development/Professional services quotation.
https://www.knowage-suite.com/site/about-us/knowage-contacts/

Best Regards

Davide
Dear Davide, thank you very much!

Did I understand correctly that I'll be able use only one of the static layers you mentioned every time I start my cockpit? Or it is possible to combine them?

Best Regards

Vladimir
Dear Vladimir,

you should be able to use all of them as overlayed static layers if you want and if you create a dataset for each of them. You should be able to see them correctly as you shown me in your example as they will not be combined.

Best Regards.

Davide

Dear Davide,

I used the workaround like that (with 3 static layers - geojson files):

and I got:

But with no effect - OSM is Base Layer as it was. And I do not see any of my static file layer (except for target layer).

You said "and if you create a dataset for each of them". What did you mean? I can use a dataset only for target layer.

And there is an error:

[http-nio-8080-exec-6] 26 мар 2020 21:20:23,441 ERROR it.eng.spagobi.rest.interceptors.RestExceptionMapper.toResponse:59 - Catched service error:
javax.ws.rs.NotFoundException: RESTEASY003210: Could not find resource for full path: http://192.168.1.38:8080/knowage/restful-services/2.0/analyticalDriversee/getFileLayer
    at org.jboss.resteasy.core.registry.SegmentNode.match(SegmentNode.java:135)
    at org.jboss.resteasy.core.registry.RootNode.match(RootNode.java:43)
    at org.jboss.resteasy.core.registry.RootClassNode.match(RootClassNode.java:48)
    at org.jboss.resteasy.core.ResourceMethodRegistry.getResourceInvoker(ResourceMethodRegistry.java:445)
    at org.jboss.resteasy.core.SynchronousDispatcher.getInvoker(SynchronousDispatcher.java:260)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:197)
    at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:228)
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)

Best Regards

Vladimir

Dear Vladimir,
my bad, was intending layers...

Just to be sure, are the layers transparent (so you will not just see the last one)?

Regards.

Davide

Dear Davide, glad to hear you!

About transparency. I create layers as geojson files (getting them from geoserver).

Here is a part of my template (from dynamic map), and I do not know where I'm able to see transparency configuration:

   ....

  "layersLoaded": {
    "ch_buildings2_kontur": true,
    "ch_roads": true
  },
  "hiddenTargetLayer": [],
  "filtersApplied": {},
  "analitycalFilter": [],
  "selectedAnalyticalFilter": {},
  "accessibilityConf": {
    "ranges": [
      "very low",
      "low",
      "regular",
      "high",
      "very high"
    ]
  },
  "selectedBaseLayer": "OpenStreetMap"
}

There is no information of transparency in geojson files and as well in layers, created from them. But I'm already mentiond about some problem in Knowage - an error: "ERROR it.eng.spagobi.rest.interceptors.RestExceptionMapper.toResponse:59 - Catched service error:
javax.ws.rs.NotFoundException: RESTEASY003210: Could not find resource for full path: http://192.168.1.34:8080/knowage/restful-services/2.0/analyticalDriversee/getFileLayer
"

The layers "ch_buildings2_kontur" & "ch_roads" are allright because I can see them as backgrounds layers in Cockpit map (the bad info here is that they are not backgrounds - they are over target layer, so I can not get DETAILS information clicking on some of the target layer objects).

Dear Davide, thank you very much for your patience!

I've at last understand the workaround you suggested. It is about cockpit, but I didn't pay attention to "Add layer" on Map widget configuration page. Yes, I'm able to use several transparent layers together. But with no styles (they are only geojson) the total map is looking bad.. (

Hope your great team will return the possibility to use WMS base layers from geoserver!

Thank you very much ones more!

Best regards

Vladimir
Hello Vladimir,

I'm pleased that you managed to use them.
Yeah, at the moment there is no possibility to use them as a base layer, but I will provide your feedback for next releases!

Thank you and Best regards.

Davide
1,553 questions
1,017 answers
2,037 comments
2,567 users