Code Monkey home page Code Monkey logo

mapper's Introduction

Mapper

Check Latest Stable Version Total Downloads Monthly Downloads Software License

Features

  • Baselayers
  • Address or POI geocoding
  • Location reverse geocoding
  • Draw
  • Measure distances and surfaces
  • Add services (see hereunder)
  • Upload files (see hereunder)
  • Query files and services (by clicking in the map)

The Mapper supports the following services and file formats :

Install

See INSTALL.md

Configuration

The application is configured for Belgium (geocoding services, baselayers, ...) but you can easily adapt the configuration to your use case.

See INSTALL.md#Configuration

mapper's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar jbelien avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

rads-io

mapper's Issues

Add service with parameters in URL

If you try to add a service (WMS/WMTS) with parameters in the URL (like http://localhost/cgi-bin/mapserv?map=test.map), the parameters will not be sent correctly for the GetCapabilities request.

Example of MapServer error message in that case:

 msCGILoadMap(): Web application error. CGI variable "map" is not set. 

Issue with UrbIS WMS GetFeatureInfo

UrbIS WMS service returns different structure than expected for GetFeatureInfo request : http://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetFeatureInfo&FORMAT=image%2Fpng&TRANSPARENT=true&QUERY_LAYERS=Urbis%3AurbisFR%2CUrbisAdm%3ABu&LAYERS=Urbis%3AurbisFR%2CUrbisAdm%3ABu&INFO_FORMAT=text%2Fxml&FEATURE_COUNT=99&I=32&J=209&WIDTH=256&HEIGHT=256&CRS=EPSG%3A3857&STYLES=&BBOX=484916.50744115934%2C6594681.052331867%2C485069.3814977297%2C6594833.926388437

Expected result is, for instance:

<?xml version="1.0" encoding="ISO-8859-1"?>

<msGMLOutput 
	 xmlns:gml="http://www.opengis.net/gml"
	 xmlns:xlink="http://www.w3.org/1999/xlink"
	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<electricity_full_2018_layer>
	<gml:name>Cabines 2018 - Full</gml:name>
		<electricity_full_2018_feature>
			<gml:boundedBy>
				<gml:Box srsName="EPSG:3857">
					<gml:coordinates>484619.202836,6594862.790837 484619.202836,6594862.790837</gml:coordinates>
				</gml:Box>
			</gml:boundedBy>
			<msGeometry>
			<gml:MultiPoint srsName="EPSG:3857">
			  <gml:pointMember>
			    <gml:Point>
			      <gml:coordinates>484619.202836,6594862.790837</gml:coordinates>
			    </gml:Point>
			  </gml:pointMember>
			</gml:MultiPoint>
			</msGeometry>
			<Row_Nr>1651</Row_Nr>
		</electricity_full_2018_feature>
	</electricity_full_2018_layer>
</msGMLOutput>

✨ Load file from URL

Ability to load a file on the map from a URL (instead of uploading the file from the disk)

Mixed content

Error when WMS/WMTS service only serves HTTP (for instance, CIRB WMS) !

Read files from disk

Enable ability to read files (GeoJSON, GPX, KML) from disk (on the server where the Mapper is installed).

Styling

Currently, only the color property is supported.
Could be extended to something similar to http://geojson.io/ :

  • Point
    • marker-color
    • marker-size
    • [marker-symbol]
  • Line
    • stroke (color)
    • stroke-width
    • stroke-opacity
  • Polygon
    • stroke (color)
    • stroke-width
    • stroke-opacity
    • fill (color)
    • fill-opacity

Caching

Save in data/cache application configuration:

  • Baselayers
  • Title, Description, Center, Zoom
  • Layers
  • Files

See ConfigAggregator::ENABLE_CACHE

Undo while drawing

Add a way to undo while you're drawing.

Maybe see how it's done in iD editor.

Query drawn objects

Would be nice to be able to also query drawn objects (once that have a name - and description - see #57)

Legend/Color Management

  • Display legend (if available) for all the layers ;
  • Be able to choose a color of the objects if there is no legend ;

GetFeatureInfo: Query layer group

When you query a layer group (defined via MapProxy or via MapServer), the result is sent layer by layer.

Is it fixable via MapProxy or MapServer configuration ?
How to handle this on Mapper side ?

Label management

Be able to choose which property is used as label (by default, property label)

GeoJSON legend

This is not standard in GeoJSON but could be useful.

Here is an example of a basic legend:

  "legend":[
    {
      "type":"point",
      "text":"≥ 100000 Bq/m2",
      "color":"#ff00ff"
    },
    {
      "type":"point",
      "text":"≥ 12000 Bq/m2",
      "color":"#ff0000"
    },
    {
      "type":"point",
      "text":"≥ 4000 Bq/m2",
      "color":"#ffff00"
    }
  ],

Share button

Add the ability to share your "workspace":

  • Current baselayer
  • Current location (center of the map)
  • Current layers
  • ...

Issue with PICC WMS service

OpenLayers doesn't seem able to parse response.

<?xml version="1.0" encoding="UTF-8"?>

<FeatureInfoResponse xmlns:esri_wms="http://www.esri.com/wms" xmlns="http://www.esri.com/wms">
<FIELDS OBJECTID="558" Identifiantunique="BE.WL.GEOREF.2133BC4A-0024-42E0-BADB-7C719FD84699" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="WT_L_0700" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="46241" Identifiantunique="BE.WL.GEOREF.C79B8F49-3091-469B-BB47-8887AE378C0C" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="WT_L_0700" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="43044" Identifiantunique="BE.WL.GEOREF.0B614812-8B00-48F6-ABFF-E335B890B544" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="Null" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="14287" Identifiantunique="BE.WL.GEOREF.6F032D67-4E7D-4937-BB05-A274162F9052" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="WT_L_0700" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="52970" Identifiantunique="BE.WL.GEOREF.EE2C7392-E48E-4361-8C4D-F2529DBEC8AE" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="WT_L_0700" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="17868" Identifiantunique="BE.WL.GEOREF.D5C0C764-93F6-4C4F-B7F4-DDFCCEDBDB15" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="WT_L_0700" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="32606" Identifiantunique="BE.WL.GEOREF.9CB5B137-7A4C-461E-A4C6-6D26BCE9E64E" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="Null" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="51010" Identifiantunique="BE.WL.GEOREF.410E2933-0A1E-4667-AFB0-E09172879F21" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="WT_L_0700" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="7617" Identifiantunique="BE.WL.GEOREF.E25F3C9F-91F1-4997-8377-EC644131B74D" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="WT_L_0700" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="34369" Identifiantunique="BE.WL.GEOREF.8F88E38B-2A1E-4A5C-8F66-37BA100504D9" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="WT_L_0700" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="1780" Identifiantunique="BE.WL.GEOREF.A4C1E771-D4BE-48AE-9834-150946DD76EC" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="Null" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="13308" Identifiantunique="BE.WL.GEOREF.847EFE68-E372-4AA2-89AC-0351C55C2126" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="Null" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="38367" Identifiantunique="BE.WL.GEOREF.CFB1E010-61C3-4D98-B7DA-83BB8FF0E97C" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="Null" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="49211" Identifiantunique="BE.WL.GEOREF.AA39EDAA-182B-4306-9D32-6F375409987F" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="WT_L_0700" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="15953" Identifiantunique="BE.WL.GEOREF.99AB7CC8-0284-4C2B-9731-29FC815090E7" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="Null" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="20645" Identifiantunique="BE.WL.GEOREF.E96C3FEA-4C03-4142-AA5C-CB1A28A63C07" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="WT_L_0700" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="1468" Identifiantunique="BE.WL.GEOREF.C9CF05BC-884C-4AD9-8492-75E770A45BBE" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="WT_L_0700" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="10815" Identifiantunique="BE.WL.GEOREF.C3637C65-FEE5-4F9C-9634-70FCA05D5E12" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="WT_L_0700" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="4544" Identifiantunique="BE.WL.GEOREF.6927B6C6-0DB3-4FE3-8503-2E8C2B959B4C" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="Null" GEOM="Polyline"></FIELDS>
<FIELDS OBJECTID="55389" Identifiantunique="BE.WL.GEOREF.9FD3E4F6-0414-4F45-96FC-825F0DA41653" Codedelanature="RAI" Descriptiondelanature="Rail" Précisionplanimétriquem="Null" Précisionaltimétriquem="Null" Techniquedemesure="Photogrammétrie" Datedelamesure="Null" Datedecréation="7/06/2016 14:35:55" Datedemodification="7/06/2016 14:35:55" Datedutransfert="30/11/2018" CodeWALTOPO="Null" GEOM="Polyline"></FIELDS>
</FeatureInfoResponse>

Source: http://geoservices.wallonie.be/arcgis/services/TOPOGRAPHIE/PICC_VDIFF/MapServer/WmsServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetFeatureInfo&FORMAT=image/png&TRANSPARENT=true&QUERY_LAYERS=7&LAYERS=7&FEATURE_COUNT=99&INFO_FORMAT=application/vnd.ogc.wms_xml&I=70&J=11&WIDTH=256&HEIGHT=256&CRS=EPSG:3857&STYLES=&BBOX=508153.3640398532,6563800.492904656,508764.8602661346,6564411.9891309375

Hide auth from layers

Hide authentication parameters (auth) in window.app.layers on homepage source code !

Issue with upload

Freeze on Firefox/Chrome

EDIT: Seems to happen on any website (with the "Choose a file" button as well). Probably not due to the Mapper application but due to Windows or Firefox/Chrome

Measure objects you're drawing

It would be nice to have the measure tool activated by default as you draw lines and polygons. It's not very intuitive to need to activate the measure tool yourself before starting to draw

Add drawing tool export/save

  • Add ability to export the objects drawn (GeoJSON)
  • Add ability to save the objects in browser local storage (could be automatic)

Add area measuring tool

Extend the measuring tool to area !

It's already available, just need to find a way to display it ! New button ?

Error with geometry length/surface

Gilles:

Polygon
1 932 737 2680 m² : j’ai un problème avec un cercle de 50km de diamètre : sa surface devrait être 7 804 266 589.9285m² (+-7804.26 km²) et non 19 327 372 680 m² (+- 19.327km²) – ce serait la surface d’un cercle de 78.435km et non de 50km : oups

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.