GeoServer
  1. GeoServer
  2. GEOS-1406

HTMLImageMap GetMapProducer Proposal

    Details

    • Type: New Feature New Feature
    • Status: Closed Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.5.3
    • Fix Version/s: 1.7.2
    • Component/s: WMS
    • Labels:
      None
    • Testcase included:
      yes
    • Number of attachments :
      2

      Description

      Attached is the first version of a GetMapProducer for WMS able to render HTML imagemap. You can use it to produce overlays to conventional raster maps transforming them in interactive maps (tooltips, links, mouse events, etc.).

      1. ClickableMapProducer.7z
        8.42 MB
        Robert Saenger

        Issue Links

          Activity

          Hide
          Mauro Bartolomeoli added a comment -

          Source code for the GetMapProducer

          Show
          Mauro Bartolomeoli added a comment - Source code for the GetMapProducer
          Hide
          Robert Saenger added a comment -

          Please find attached an alternative implementation which seems to be less complete than the one Mauro Bartolomeoli.
          Unfortunately I haven't had the time yet to look into that implementation. However, maybe our solution may be of some use too.

          Robert Saenger

          Show
          Robert Saenger added a comment - Please find attached an alternative implementation which seems to be less complete than the one Mauro Bartolomeoli. Unfortunately I haven't had the time yet to look into that implementation. However, maybe our solution may be of some use too. Robert Saenger
          Hide
          Andrea Aime added a comment -

          Mauro, I've started looking at your contribution.
          I've created a community module in my geoserver trunk checkout, added a pom.xml (was missing) and started doing some changes in order to make it compile on trunk. Most of the changes involved using GeoAPI filters instead of the odl gt2 filters and stuff like that.
          Now, I have the tests mostly passing, but I have one, the testMapProduceReprojectAndLabel that's not working. Was it working for you?
          Another question I have is about the Decimator, if I interpret the changes correctly you modified it in order to have it clone the geometry during decimation. It's something I like to avoid, and use the standard Decimator (which I have optimized on trunk) and do the eventual initial cloning like the streaming renderer does. What do you think?

          Show
          Andrea Aime added a comment - Mauro, I've started looking at your contribution. I've created a community module in my geoserver trunk checkout, added a pom.xml (was missing) and started doing some changes in order to make it compile on trunk. Most of the changes involved using GeoAPI filters instead of the odl gt2 filters and stuff like that. Now, I have the tests mostly passing, but I have one, the testMapProduceReprojectAndLabel that's not working. Was it working for you? Another question I have is about the Decimator, if I interpret the changes correctly you modified it in order to have it clone the geometry during decimation. It's something I like to avoid, and use the standard Decimator (which I have optimized on trunk) and do the eventual initial cloning like the streaming renderer does. What do you think?
          Hide
          Mauro Bartolomeoli added a comment -

          Sorry for the pom.xml, I thought it was in the archive (it was in my working dir). I noticed some deprecation warnings on filters, but I don't know GeoTools so well (I'm still learning).
          On the testMapProduceReprojectAndLabel, I had some problems too: I had different reprojected coordinates using epsg-hsql or epsg-wkt. I don't know if my reprojection code is correct. Can you verify it?
          I think your approach of initial cloning (do you intend to use LiteShape2 as Robert Saenger did on his implementatiion?) is the right approach. I was thinking to rewrite it that way, but I did'nt have the time yet.

          I'm currently doing some test on a possible extension: producing html with embedded base64 images (firefox, opera and safari support them) to have a raster interactive map with a single request (using FreeMarker templates we can create customizable html pages). Unfortunately Internet Explorer is not able to read this format, but it reads an alternative format (MHTML) with similar features. Do you think it could be interesting for the community?

          Show
          Mauro Bartolomeoli added a comment - Sorry for the pom.xml, I thought it was in the archive (it was in my working dir). I noticed some deprecation warnings on filters, but I don't know GeoTools so well (I'm still learning). On the testMapProduceReprojectAndLabel, I had some problems too: I had different reprojected coordinates using epsg-hsql or epsg-wkt. I don't know if my reprojection code is correct. Can you verify it? I think your approach of initial cloning (do you intend to use LiteShape2 as Robert Saenger did on his implementatiion?) is the right approach. I was thinking to rewrite it that way, but I did'nt have the time yet. I'm currently doing some test on a possible extension: producing html with embedded base64 images (firefox, opera and safari support them) to have a raster interactive map with a single request (using FreeMarker templates we can create customizable html pages). Unfortunately Internet Explorer is not able to read this format, but it reads an alternative format (MHTML) with similar features. Do you think it could be interesting for the community?
          Hide
          Andrea Aime added a comment -

          Ok, I'll have a look at the reprojection code. As for the extended formats, I think they would be interesting for the community all right.
          I guess deciding which format to hit will be something that a client side javascript has to deal with? (by doing a browser identification).

          Show
          Andrea Aime added a comment - Ok, I'll have a look at the reprojection code. As for the extended formats, I think they would be interesting for the community all right. I guess deciding which format to hit will be something that a client side javascript has to deal with? (by doing a browser identification).
          Hide
          Andrea Aime added a comment -

          Mass close all issues that have been resolved for more than one month without further comments (assuming they are fixed for good since there is no more discussion)

          Show
          Andrea Aime added a comment - Mass close all issues that have been resolved for more than one month without further comments (assuming they are fixed for good since there is no more discussion)

            People

            • Assignee:
              Andrea Aime
              Reporter:
              Mauro Bartolomeoli
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: