Opened 19 years ago
#1546 new enhancement
lost connection of annotation to geometry
Reported by: | Owned by: | mapserverbugs | |
---|---|---|---|
Priority: | high | Milestone: | |
Component: | Output-SVG | Version: | unspecified |
Severity: | minor | Keywords: | |
Cc: |
Description
SVG should make it possible to build "interactive maps", that are maps with tool tips, with worked in hyper links, with searching for text and highlightening the appropriate geometries of the found hits. All these actions could be handled exclusively on the client without involving the mapserver again and again. Concerning this theme I've built a prototype: MapServer produces SVG output, with all the values of our various disciplinary attributes given in form of annotations. A special written Perl program catches the MapServer SVG output and reconstructs another SVG document (i.e. modifies it, especially the text output of the annotations, making them apriori invisible and visualizing them by tooltips, adds java script code, etc.), before sending it to the client. But there is a severe problem with the annotations: In the actual SVG output of the MapServer there is no interconnection of annotation text with the corresponding geometry, this important information is lost! My Perl program tries to reconstruct this lost interconnection by looking at the output order of the annotation texts, but this procedure is unreliable, because the amount of geometric features is not always the same as the amount of annotations output. The concerning Output of MapServer now is of the form: ====================================================== <!-- START LAYER xyz --> <path stroke="#00ffff" stroke-width="1" d="..."/> ... <!-- START LAYER uvw --> <path stroke="#00ffff" stroke-width="1" d="..."/> ... <!-- START LAYER uvw_label --> <text ...>here is the annotation text of one feature of uvw_layer</text> ... <text ...>here is the annotation text of one feature of xyz_layer</text> ... The Output of MapServer, I suggest (but I'm no SVG guru): ========================================================== <defs> ... <g id="layer_xyz"> <path id="xyz.1" stroke="#00ffff" stroke-width="1" d="..."/> <path id="xyz.2" stroke="#00ffff" stroke-width="1" d="... z"/> <path id="xyz.3" stroke="#00ffff" stroke-width="1" d="... z"/> ... </g> <g id="layer_uvw"> <path id="uvw.1" stroke="#00ffff" stroke-width="1" d="..."/> <path id="uvw.2" stroke="#00ffff" stroke-width="1" d="... z"/> <path id="uvw.3" stroke="#00ffff" stroke-width="1" d="... z"/> ... </g> ... <g id="annotation_xyz"> <text id="A_xyz.1" ...> appropriate annotation for xyz.1</text> <text id="A_xyz.2" ...> appropriate annotation for xyz.2</text> <text id="A_xyz.3" ...> appropriate annotation for xyz.3</text> ... </g> <g id="annotation_uvw"> <text id="A_uvw.1" ...> appropriate annotation for uvw.1</text> <text id="A_uvw.2" ...> appropriate annotation for uvw.2</text> <text id="A_uvw.3" ...> appropriate annotation for uvw.3</text> ... </g> ... </defs> ... <use xlink:href="#layer_xyz" /> <use xlink:href="#layer_uvw" /> ... <use xlink:href="#annotation_xyz" /> <use xlink:href="#annotation_uvw" /> ... </svg> Another separate desire would be: ================================= It would be nice if I could depose at the MapServer an SVG template (with java script code etc.) like the HTML template in standard BROWSE-mode. Thanks for the good work yet done, and for reviewing my suggestions.
Note:
See TracTickets
for help on using tickets.