F2F/SVGOpen 2012/MappingTopics

From SVG
< F2F

SVGTL and Dynamic document loading

Zooming and pannning

Zooming and Panning

This is generally useful for scalable graphics content.

It is infered that the buit-in zooming and panning UI with pinch/drag already comes equipped with almost all browsers for smartphones and tablets. Meanwhile, UIs of PC browsers for zooming and panning are limited.

stakagi I'd like to focus on zooming and panning features because the features are more generic. Will we include 'controls' attribute to suggest UA to switch built-in zooming/pannning UI in SVG2 specification? [1]

And I want you to have the following discussions.

Zooming range

Although map can be scaled up from grobal level to block level many times, built-in zooming implemented on some browsers doesn't support such zooming-level.

Performances for transition in zooming and panning

It may be required for zooming & panning with pinch/drag to seamlessly display the transition. In order to handle a great number of SVG shape elements, such display feature is often implemented with an approach to zoom and pan the map represented as a raster image while its transition after the redrawing is suspended.

stakagiI think that the implementation for display in zooming and panning with the built-in UI is dependent on the browser. Meanwhile, zooming and panning APIs should be prepared for javascript-based framework.
stakagiFor instance, there are ideas to revise a specification for suspendRedraw and unsuspendRedraw. Specifically, if viewBox or currentScale is changed while suspendRedraw is called, unsuspendRedraw should not automatically be called. On the other hand, a process changing the display of map with a raster image should be run.

Projection (Transformation)

From geo community, support of Mercator projection is frequently required for SVG Map. However, SVG2 does not support such a nonlinear transformation.

Ideas to solve the issue

  • Application of CSS Shaders (Non-linear transfomation)
  • Use of linear coordinate system in Mercator projection as globalcoordinateSystem (Instead of WGS84 lat/lng)

(See EPSG:3857 and OSM Mercator)

In the latter case, the specification for SVG TL will be not changed because the transformation between Mercator coordinate system and SVG coordinate one is linear. URL corresponding to EPSG:3857 (not yed defined) just has to be written in srsName. Therefore, this falls outside of SVG specification.

stakagiI think that utilization of CSS shaders is ideal. Although GIS community might hope to use EPSG3857, it is outside of SVG specification.

Other use cases in cases where iframe is used

Distributed dynamic layers (or distributed Web Map Apps)

Utilization of iframe can run distributed webApps (dynamic layers) as map layers well from external resources.

UI specially-designed for each Dynamic Layer

Each dynamic layer can own specially-designed UI with HTML.

  • Where iframe of UI is in the same origin as parents' layer.

Non-scaling objects

Use-cases of Non-scaling objects

A feature to appropriately switch visual effects according to zooming is essential for mapping. For example, as a map is zoomed-in, only proper size map tiles including proper size POI are necessary for display. There are some cases where POIs such as characters and icons on the map should be displayed in a fixed size and geographical position regardless of zoom ratio.

In addition, this feature is no longer limited to map. Here are use cases of the feature including other than maps.

  1. Contour of character face in animation
  2. Letter strings tagged to object areas in an image on SNS site
  3. Components of graphical user interface to be displayed at all time
  4. Guide markers for resizing an object in image editing
  5. Visual effects as background such as heart and star marks
  6. Banner advertisement
  7. Central character or its body part with any item on the game played by scrolling the viewing area of window into perspective
  8. Parallax web design according to zooming

See also examples

Transform ref issue

About SVG Tiny 1.2's TransformRef;

Depending on viewport size, the size of the object to which transform="ref(svg,x,y)" is applied change. The fixed size object is required without relation to viewport size. Mr. Alex knows this.

Mapping taskforce update

Approval from Japanese Industrial Standards

It was determined by the government that following two specifications are adopted as Japanese Industrial Standards (de-jure standards of Japan) in the 2012 fiscal year.

  • JIS X.4197 : SVG Tiny 1.2
  • JIS X.7197 : Tiling and Layering Module for SVG Tiny 1.2

Besides, these may be revised in accordance with recommendation of SVG2.

Relationship with OpenStreetMap

KDDI started to collaboratively work with GeoRepublic, which is representative company for promotion of OSM in Japan.

SVGOPEN2012 Mapping Panel

SVG Mapping Community Group

We have lost oppotunities to cooperative with GIS Community because SVG IG and SVG IG Japan are closed. In order to improve our current situation, there is a way to establish Mapping CG.

Themes to be considered

  • Issue for mapping projection (mentioned above)
  • Considering the way to harmonize SVG mapping with existing GeoStandards mapping (More than 100 standards formats are supported in OpenLayers) and sharing the implementation knowledge
  • Cooperation with OpenStreetMap and OpenLayers