Open slibby opened 7 years ago
from iD's CONTRIBUTING doc:
it helps the maintainers if you first open an issue to ask whether an idea makes sense, instead of surprising us with a pull request.
have we given any indication to anyone on the iD team that we plan on proposing this new feature? it'd be good form to follow their guideline and submit a condensed version of the copy above that explains:
@slibby/@mapmeld are you interested and available to do this soon? if not, i'm happy to help with it.
@jgravois I can submit an issue
Edited Issue Text for submitting to openstreetmap/id repository. what do you think @jgravois @mapmeld :
Issue Title: Creating OSM Features in iD from ArcGIS Services
Anyone can easily contribute to OpenStreetMap with the iD editor using authoritative and vetted data extracted from an ArcGIS Map or Feature Service.
Many Esri customers using ArcGIS are authoritative data creators and maintainers. In many areas, densely detailed user-submitted data is available in OpenStreetMap, but in many others, there is limited density of data even though easily-accessible authoritative data exists. Currently, to make use of these datasets OpenStreetMap contributors would need to export the ArcGIS Map Service to a Shapefile or PostGIS database and then use desktop tools such as JOSM to edit and upload to OpenStreetMap, or go through a lengthy import process to import a selected set of data which is not already available in OSM or which is more precise or more accurate than current OSM features.
This feature aims to make it easier for volunteers to add features queried from the GeoServices REST API (ArcGIS Server Map Services and Feature Services) to OpenStreetMap using iD. By connecting directly to the ArcGIS Service form an iD session, contributors are getting the most up to date data and also can more easily contribute this data without need for complex workflows. The tool will also allow users to match up existing attributes from the source data (for example, house numbers on building footprints) to relevant OSM tags to make adding authoritative attribution straighforward along with geometries.
This feature will add the capability for contributors to select “Add GeoService Layer” and then provide the URL to an ArcGIS REST Service or Feature Layer (ex. http://maps2.dcgis.dc.gov/dcgis/rest/services/DCGIS_DATA/Transportation_WebMercator/MapServer/5). Before loading, the contributor will be able to specify whether specific attributes should be mapped from the source layer to specific OSM tags, or whether any other static tags should be added across all features. The iD editor will load the vector features of the current map extent as temporary objects in the browser window (not immediately submitted as edits to OSM).
The contributor can then select objects generated from the ArcGIS Layer, inspect and alter any tag values or geometries and submit them as edits to OSM (additions or replacements for features). They can then save their changeset, contributing these new objects to OpenStreetMap via iD's existing functions.
Code has already be developed using a branch from the iD GitHub repository and is nearing readiness for submitting a PR to the master iD branch. This issue serves to introduce the concept and ask for some discussion from the primary iD maintainers before submitting a PR (as requested in Contributing.md).
@slibby sounds good to me :shipit:
added issue to /iD master
excellent!
@mapmeld if you're comfortable with it, bryan said in slack that he's ready to move the discussion into a PR to widen the collaboration circle a bit.
obviously we want to incorporate as much of the great feedback as possible, but we'll also have to try hard to limit scope and sift through what is a must for a v1
from features that are better placed further down the roadmap.
Is this an iD Slack? I need to get into more Slacks.
I would be OK with at a pull request, but I'm unsure of timeline, especially since it is so easy to test on our own platforms before going mainstream.
We're about to find out (in the next week) if we get to talk about this at SOTMUS.
Is this an iD Slack?
http://thespatialcommunity.org/ (#openstreetmap channel)
We're about to find out (in the next week) if we get to talk about this at SOTMUS.
:crossed_fingers:
GIFs for demonstration:
Add new service and confirm license:
Add Existing service:
Map Attributes to tags and import in view:
Review and approve features:
What follows is draft text to be submitted along with an eventual PR to the upstream repository:
OpenStreetMap editing from ArcGIS Services
Goal
Anyone can easily contribute to OpenStreetMap with the iD editor using data extracted from an ArcGIS Map or Feature Service.
Background
Many Esri customers using ArcGIS are authoritative data creators and maintainers. In many areas, densely detailed user-submitted data is available in OpenStreetMap, but in many others, there is limited density of data even though easily-accessible authoritative data exists. Currently, to make use of these datasets OpenStreetMap contributors would need to export the ArcGIS Map Service to a Shapefile or PostGIS database and then use desktop tools such as JOSM to edit and upload to OpenStreetMap, or go through a lengthy import process to import a selected set of data which is not already available in OSM or which is more precise or more accurate than current OSM features.
This feature aims to make it easier for volunteers to add features queried from the Geoservices REST API to the popular iD web-based editor for OpenStreetMap. By connecting directly to the ArcGIS Service, contributors are getting the most up to date data and also can more easily contribute this data without need for complex workflows. The tool will also allow users to match up existing attributes (for example, house numbers on building footprints) to OSM tags to make adding authoritative attribution straighforward along with geometries.
Solution
This project will add the capability for contributors to select “Import Layer” and then provide the URL to an ArcGIS REST Service or Feature Layer (ex. http://maps2.dcgis.dc.gov/dcgis/rest/services/DCGIS_DATA/Transportation_WebMercator/MapServer/5). The iD editor will load the vector features of the current map extent as temporary objects in the browser window (not submitted as edits to OSM). At load, the contributor will be able to specify whether specific attributes should be mapped from the source layer to specific OSM tags, or whether any other static tags should be added across all features.
The contributor can then select objects generated from the ArcGIS Layer, inspect and alter any tag values or geometries and submit them as edits to OSM (additions or replacements for features). They can then save their changeset, contributign these new objects to OpenStreetMap via iD's existing functions.
Implementation
Code will be developed using a branch from the iD GitHub repository. This project will implement a D3 rendering layer using the ArcGIS Geoservices REST API. This could use the prototype Esri D3 Layer project.
Follow on concepts
In success of this project, there are several potential projects which could use this work: