ngageoint / geoq

Django web application to collect geospatial features and manage feature collection among groups of users
MIT License
698 stars 131 forks source link

Symbols from ArcGIS Dynamic Map Services should be used (CAP as example) #194

Closed jkeller2 closed 10 years ago

jkeller2 commented 10 years ago

We talked about this again today on the call and I didn't see it in the list like I thought it was. The example is our CAP imagery feed but this should probably apply to all ArcGIS Dynamic Map Services.

A PNG image for the symbol should be accessible for every layer after parsing the JSON for the service definition.

The renderer will have to be utilized for each image in order to determine the appropriate image to display.

JSON Example: http://dev.femadata.com/arcgis/rest/services/ImageEvents/ImageEvents/MapServer/layers?f=pjson

Map Service Endpoint: http://dev.femadata.com/arcgis/rest/services/ImageEvents/ImageEvents/MapServer

jaycrossler commented 10 years ago

Is there a way of exposing the service either as WMS or as a JSON endpoint that contains the feature data? I see the JSON example above which describes what types of features look like, but it doesn't seem to have any data on the actual image lat/lng location/url itself. Or, did I miss it?

jaycrossler commented 10 years ago

Josh, any more insight?

On Fri, Jul 11, 2014 at 11:01 AM, jkeller2 notifications@github.com wrote:

We talked about this again today on the call and I didn't see it in the list like I thought it was. The example is our CAP imagery feed but this should probably apply to all ArcGIS Dynamic Map Services. A PNG image for the symbol should be accessible for every layer after parsing the JSON for the service definition. The renderer will have to be utilized for each image in order to determine the appropriate image to display. JSON Example: http://dev.femadata.com/arcgis/rest/services/ImageEvents/ImageEvents/MapServer/layers?f=pjson

Map Service Endpoint: http://dev.femadata.com/arcgis/rest/services/ImageEvents/ImageEvents/MapServer

Reply to this email directly or view it on GitHub: https://github.com/ngageoint/geoq/issues/194

Whatsupcory commented 10 years ago

This is a feature of the upmost importance. It will drastically reduce the time it takes to analyze/categorize each structure. The less time a user has to locate the imagery of a structure the more structures can be categorized and assessed.

jaycrossler commented 10 years ago

Thanks, would love to get more insight into the data so we can integrate.

On Sun, Jul 27, 2014 at 2:37 AM, Cory MacVie notifications@github.com wrote:

This is a feature of the upmost importance. It will drastically reduce the time it takes to analyze/categorize each structure. The less time a user has to locate the imagery of a structure the more structures can be categorized and assessed.

Reply to this email directly or view it on GitHub: https://github.com/ngageoint/geoq/issues/194#issuecomment-50257204

jaycrossler commented 10 years ago

I think I've figured out how to get the data - using the ESRI Identify feature, we can grab the data with a URL like:

http://dev.femadata.com/arcgis/rest/services/ImageEvents/ImageEvents/MapServer/identify?geometryType=esriGeometryEnvelope&geometry=-104,35.6,-94.32,41&layers=0,1,2&mapExtent=-104,35.6,-94.32,41&imageDisplay=600,400,96&tolerance=600&f=pjson

This returns the thumbnail, altitude, and heading in JSON - we can then build a custom parser for this.

Should it just return different rotated graphics based on heading? Can you walk me through which each color (orange, purple, green) means and how best to render it? It seems that orange points to an orange line with a cross-hair is a way to geo-rectify an image. Is this correct?

jaycrossler commented 10 years ago

Here's another even better URL, which shows results from the ground lines layer:

http://dev.femadata.com/arcgis/rest/services/ImageEvents/ImageEvents/MapServer/identify?geometryType=esriGeometryEnvelope&geometry=-86.34588040274943%2C32.37119194620126%2C-86.33942339177285%2C32.37507709687361&mapExtent=-86.34588040274943%2C32.37119194620126%2C-86.33942339177285%2C32.37507709687361&imageDisplay=1298%2C781,96&tolerance=1300&f=pjson&layers=all

This shows a path in some Ground Lines items: "paths": [ [ [ -86.339489999999955, 32.372348333000048 ], [ -86.334676135999985, 32.375183928000069 ] ] ],

Whatsupcory commented 10 years ago

YES! Perfect!

Should it just return different rotated graphics based on heading? We've been using a circle with an arrow in the middle to identify heading of the image.

Can you walk me through which each color (orange, purple, green) means and how best to render it? There hasn't been a decision made for each. We've been making them up from disaster to disaster. What is needed is one color (different from PDA colors: Yellow, Orange, Red, Purple) to signify nadir imagery (blue... for the sky), oblique imagery (bluegreen), ground imagery (green... for the ground), selected target (greenyellow or white?).

It seems that orange points to an orange line with a cross-hair is a way to geo-rectify an image. Is this correct? Are you talking about the target selection?

jaycrossler commented 10 years ago

screen shot 2014-07-30 at 12 03 04 pm

OK, got initial parser written with icons and headings the same (I think) as that feed. Please verify.

Whatsupcory commented 10 years ago

Great. Can you think of an easy and aesthetic way to show a legend for analysts?

Whatsupcory commented 10 years ago

We have some images being labeled as Nadir when they are obliques. We need to look into weather this is on our side or yours.

jaycrossler commented 10 years ago

Thanks, I'll look into adding a legend. Maybe when you click on a point, it pulls up the left bar and there's a "Legend" accordion tab? Maybe have one for each feed in that section?

Let me know if you think that image labeling is an issue on the geo-q end. You should be able to (in chrome) set a breakpoint as shown below to troubleshoot which icons are being loaded.

screen shot 2014-07-30 at 1 11 07 pm

Whatsupcory commented 10 years ago

I like the Legend idea. Got it. I'll check on who's side it is on.