Re: Circle Support For MapML

Peter,

Sorry for my delay in replying. Responses in-line.

> On 1 Feb 2018, at 15:29, Rushforth, Peter (NRCan/RNCan) <peter.rushforth@canada.ca> wrote:
> 
>>  how can I draw a 10-metre radius circle around the Greenwich Observatory at 51.48N, 0.00E? This is a simple task using common web map Javascript APIs
> 
> Exactly true, so I think the answer is to have a programmatic API on the map or layer client element, or allow a JavaScript library to continue to provide such an API.  I've opened an issue on the map element proposal.  https://github.com/Maps4HTML/HTML-Map-Element/issues/12 

I’m not sure I understand what you’re proposing. Please can you give an example?

> 
>> that calculating the vertex co-ordinates for a polygon-approximation to a circle is feasible, it’s also cumbersome.
> 
> Not if provided by an API? How do you envisage the feature being used, for example?

I think a common use case would be for a circle to indicate a safety zone. For instance, a static aerial threat, e.g. a radio mast, could be marked with a circle of suitable radius to show a no-fly zone for drone operations. The drone itself could also be marked as a dynamic aerial threat so other drone pilots can operate at a safe distance to avoid collision.

> 
>> there's a mismatch in the nomenclature and supported values between the geometry element in MapML and those of the area’s shape attribute in the new map element proposal
> 
> That's true.  In the proposed HTML extension,  the <layer> element would be the new way to encode or reference spatial features, with the <area> element being left more or less as-is (syntactically),  in order to provide a fall-back capability (not to mention not breaking the existing Web) for HTML authors who may want to provide a progressive enhancement to their page for more capable browsers but who want to support older browsers with the same page.  If the parent map element runs with the extended semantics, the child layer elements would activate; if the extended semantics aren't available, then the child area elements would activate, if any. I tried to give a working example of this in a blog post I wrote, using the custom element.  You can 'simulate' a future (non-map-proposal-compliant) browser's native support by disabling JavaScript and reloading the page, in which case the fallback behaviour of the <area>  elements would come into play.
> http://maps4html.github.io/Web-Map-Custom-Element/blog/progressive-web-maps.html 

I understand that you’re aiming for graceful degradation, but this differing nomenclature is likely to cause confusion. As you’ve already added new ‘shape’ types, e.g. marker, perhaps you could also add new types which are identical to the geometry values, e.g. linestring, polygon, etc., some of which may be simple synonyms for pre-existing values, e.g. polygon and poly. The old values are still supported, and MapML users can choose whichever terminology they're more comfortable with.

Rob 

Away Team
www.awayteam.co.uk <http://www.awayteam.co.uk/>


> On 1 Feb 2018, at 15:29, Rushforth, Peter (NRCan/RNCan) <peter.rushforth@canada.ca> wrote:
> 
>>  how can I draw a 10-metre radius circle around the Greenwich Observatory at 51.48N, 0.00E? This is a simple task using common web map Javascript APIs
> 
> Exactly true, so I think the answer is to have a programmatic API on the map or layer client element, or allow a JavaScript library to continue to provide such an API.  I've opened an issue on the map element proposal.  https://github.com/Maps4HTML/HTML-Map-Element/issues/12 
> 
>> that calculating the vertex co-ordinates for a polygon-approximation to a circle is feasible, it’s also cumbersome.
> 
> Not if provided by an API? How do you envisage the feature being used, for example?
> 
>> there's a mismatch in the nomenclature and supported values between the geometry element in MapML and those of the area’s shape attribute in the new map element proposal
> 
> That's true.  In the proposed HTML extension,  the <layer> element would be the new way to encode or reference spatial features, with the <area> element being left more or less as-is (syntactically),  in order to provide a fall-back capability (not to mention not breaking the existing Web) for HTML authors who may want to provide a progressive enhancement to their page for more capable browsers but who want to support older browsers with the same page.  If the parent map element runs with the extended semantics, the child layer elements would activate; if the extended semantics aren't available, then the child area elements would activate, if any. I tried to give a working example of this in a blog post I wrote, using the custom element.  You can 'simulate' a future (non-map-proposal-compliant) browser's native support by disabling JavaScript and reloading the page, in which case the fallback behaviour of the <area>  elements would come into play.
> http://maps4html.github.io/Web-Map-Custom-Element/blog/progressive-web-maps.html 
> 
> 
> Thanks,
> Peter
> 
> 
> Peter Rushforth
> 
> Technology Advisor
> Canada Centre for Mapping and Earth Observation / Earth Sciences Sector
> Natural Resources Canada / Government of Canada
> mailto:peter.rushforth@canada.ca / Tel: 613-759-7915
> 
> Conseiller technique
> Centre canadien de cartographie et d’observation de la Terre / Secteur des sciences de la Terre
> Ressources naturelles Canada / Gouvernement du Canada
> mailto:peter.rushforth@canada.ca / Tél: 613-759-7915
> 
> From: Rob Smith [mailto:rob.smith@awayteam.co.uk] 
> Sent: January 18, 2018 6:55 AM
> To: public-maps4html@w3.org
> Subject: Circle Support For MapML
> 
> Peter Rushforth and I have been discussing various aspects of MapML in the Spatial Data On The Web Interest Group: https://w3c.github.io/sdw/ and he suggested I post this issue from our conversation here.
> 
> The question I raised was: how can I draw a circle using non-CSS units? For example, how can I draw a 10-metre radius circle around the Greenwich Observatory at 51.48N, 0.00E? This is a simple task using common web map Javascript APIs, e.g. Leaflet, but is not supported by MapML which seems like an oversight. While I acknowledge that calculating the vertex co-ordinates for a polygon-approximation to a circle is feasible, it’s also cumbersome.
> 
> 
> There are a number of use cases where a circle, defined by its centre and radius, is the ideal symbol choice. It can represent an area of influence, e.g. the range of a lighthouse lamp or fog-horn, or an exclusion zone, e.g. a no-fly area around a mast or tall building. In each case, the location of the feature is known and the radius can be easily chosen, so a circle is an obvious choice.
> 
> 
> MapML includes the geometry element: http://maps4html.github.io/MapML/spec/#the-geometry-element which mirrors GeoJSON's design, though doesn’t include circles. It’s interesting that the OpenLayers ol.geom interface also mirrors this design, with the notable addition of circles: http://openlayers.org/en/latest/apidoc/ol.geom.html and I think including a comparable ‘Circle’ to the geometry value list in MapML would be a valuable addition.
> 
> Also, there's a mismatch in the nomenclature and supported values between the geometry element in MapML and those of the area’s shape attribute in the new map element proposal: https://maps4html.github.io/HTML-Map-Element/spec/#attr-area-shape. Supported area shapes include circle and rectangle with no direct equivalents in MapML, markers are similar to points, lines are similar to linestrings, and only polygons are the same. I think this is likely to cause confusion, and should be made consistent.
> 
> I hope you find this helpful.
> 
> Rob Smith
> 
> Away Team
> http://www.awayteam.co.uk/
> 

Received on Friday, 16 February 2018 15:22:13 UTC