missioncommand / mil-sym-java

(RETIRED) MIL-STD-2525 B and C rendering library and web service
Apache License 2.0
67 stars 36 forks source link

Single Fence Symbol Code #25

Closed CalisBrath closed 8 years ago

CalisBrath commented 8 years ago

We are currently using MilSym 0.1.4. When we pass in the following data {[ID, e2125441-3e2c-41f4-b118-87f00e555c90]} {[NAME, name]} {[DESCRIPTION, GHMPOWS-------X]} {[CONTROLPOINTS, -17.1272727272727,24.4363636363636 -2.46911243228348,24.4363636363636]} {[ALTITUDEMODE, clampToGround]} {[SCALE, 91693798.4]} {[BBOX, -20.79181280102,24.4363636363636,1.19542764146384,24.4363636363636]} {[FORMAT, 2]} {[SYMSTD, 0]} {[MODIFIERS, {"N":"ENY","X":["0"]}]}

To our MilSym service, hosted in Jetty, http://127.0.0.1:9899/mil-sym-service-0.1.4/renderer/mp3d/GHMPOWS-------X

We are getting an unexpected response back. The coordinate list is incomplete. We are getting an array of one coordinate.

[[-17.12727273,24.43636364],[-7.25350077,24.59247206],[-2.4691121,24.43636364]], [[-17.12727273,24.43636364],[-7.25350077,24.59247206],[-2.4691121,24.43636364]], [[-12.70946766,26.06374592],[-16.22946685,22.80898136]], [[-16.26864046,26.0079084],[-12.7591338,22.86481888]], [[-6.38608975,26.24703374]]

I was also curious as to why we are getting the first coordinate back twice.

mdeutch3 commented 8 years ago

The bbox is ordered as follows: left, bottom, right, top. It appears your bottom and top values are identical which produces a bbox of height 0. In that case you won't get meaningful results because all the points will have been clipped.

CalisBrath commented 8 years ago

I sent the same data, with the following bbox and it is still failing. {[BBOX, -20.79181280102,22.4363636363636,1.19542764146384,26.4363636363636]}

Do you have any other suggestions ?

mdeutch3 commented 8 years ago

When I use your data it is reporting an error in the JSON string: Failed to parse modifier string in MultiPointHandler.RenderSymbol. Continuing processing the drawing of the graphic Json String: {[MODIFIERS, {"N":"ENY","X":["0"]}],"ALTMODE":"MSL"} Expected a ':' after a key at 36 [character 37 line 1]

Can you please take a close look at your modifiers string? When I tried the following string in my tester it worked: {MODIFIERS: {N:"ENY","X":[0]}}

CalisBrath commented 8 years ago

Here is what I just put in and what I received back [0] = {[ID, 5434a689-668a-4a00-9c0d-8c1241161013]} [1] = {[NAME, name]} [2] = {[DESCRIPTION, GHMPOWS-------X]} [3] = {[CONTROLPOINTS, -27.9272727272727,9.38181818181818 -13.4113062463167,9.38181818181818]} [4] = {[ALTITUDEMODE, clampToGround]} [5] = {[SCALE, 91693798.4]} [6] = {[BBOX, -31.5562643475117,8.38181818181818,-9.78231462607775,10.3818181818182]} [7] = {[FORMAT, 2]} [8] = {[SYMSTD, 0]} [9] = {[MODIFIERS, {N:"ENY","X":[0]}]}

\"type\":\"FeatureCollection\", \"features\":[{\"type\":\"Feature\", \"properties\":{\"label\":\"\", \"strokeColor\":\"#00FF00\", \"lineOpacity\":1.0, \"strokeWidth\":3, \"strokeWeight\":3}, \"geometry\":{ \"type\": \"MultiLineString\", \"coordinates\":[ [[-27.92727273,9.38181818],[-18.82143143,9.4514065],[-13.4113067,9.38181818]], [[-27.92727273,9.38181818],[-18.82143143,9.4514065],[-13.4113067,9.38181818]], [[-24.00143421,11.13734509],[-27.46138078,7.62629127]], [[-27.51813597,11.07711077],[-23.97941551,7.68652559]], [[-17.4525926,11.17707897]]]}}], \"properties\":{\"id\":\"5434a689-668a-4a00-9c0d-8c1241161013\", \"name\":\"name\",\"description\":\"GHMPOWS-------X\",\"symbolID\":\"GHMPOWS-------X\"}}"

Is there an easy way that I can turn on logging in the service ?

mdeutch3 commented 8 years ago

Sometimes the renderer adds a one point polyline. It was not a problem for KML but it is a problem for GeoJSON. A fix has been checked in, it should be Ok in the next release.