MCPcopy Index your code
hub / github.com/MarcusWolschon/osmeditor4android

github.com/MarcusWolschon/osmeditor4android @22.0.6.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 22.0.6.0 ↗ · + Follow
10,397 symbols 61,176 edges 1,006 files 7,326 documented · 70%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Quality Gate Status Coverage sonarcloud bugs sonarcould maintainability sonarcloud security sonarcloud reliability

Vespucci - An OpenStreetMap editor for Android

This is the first OpenStreetMap editor for Android, codename "Vespucci".

Amerigo Vespucci

Installing

GooglePlay

Latest release from Github

Contributing

If you're interested in this project, you're welcome to help improving it. We need UI designers, translators, and of course Java programmers. See the build documentation for more information.

What is Vespucci?

  • An on- and offline editor for OpenStreetMap
  • Runs on mobile devices using the Android platform
  • Functionality:
    • Create and edit new nodes and ways
    • Move and rotate ways
    • Append nodes to existing ways
    • Delete nodes
    • Create, edit and delete tags
    • Edit relations and create new turn restrictions and routes
    • JOSM presets support
    • Thematic mapping with no programming
    • Download and upload to OSM server
    • Offline data support
    • Saving and reading of JOSM format OSM data files
    • Highlight objects with missing tags like unnamed roads
    • Highlight ways/nodes with TODOs or FIXMEs
    • Highlight very old objects that are likely to be out dated
    • Add, comment and close OSM Notes
    • OSMOSE and Maproulette support
    • Use a variety of background tile layers as reference
    • Show the user's GPS track with accuracy
    • Upload to OSM and local saving of GPS tracks
    • Display the raw data
    • Display geo-referenced photographs and Mapillary images
    • GeoJSON layers with support for importing objects
    • ... and lots more ...

Detailed documentation can be found on the Vespucci Website

What is Vespucci NOT?

  • a pure map-view or a routing-application

Getting started with contributing

Here is how you can start developing.

Currently building is supported with gradle in eclipse, android studio and naturally gradle on the command line, see build instructions.

If you are interested in adding a feature or other development work, please reach out to us before embarking on something that might be already in work or a fools errand.

Important note: if you are building your own version, particularly if you are making it available to third parties, please change app_version and app_name_version in res/values/appname.xml to something that makes it clear that this is not an "official" release and clearly identifies your builds.

Related projects

Vespucci utilizes a number of independent, separately maintained, projects. The most relevant of these are

You can update both the imagery and preset configuration from within the app, the other configuration files are updated when necessary in the APK.

License and trademarks

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

OpenStreetMap and the magnifying glass logo are trademarks of the OpenStreetMap Foundation. The Vespucci app is not endorsed by or affiliated with the OpenStreetMap Foundation.

Mapillary is a trademark of Mapillary AB, Sweden. The Vespucci app is not endorsed by or affiliated with Mapillary AB.

Extension points exported contracts — how you extend this code

GeoPoint (Interface)
Something that has a latitude and longitude and can return it in 1E7 format (e.g. Node and TrackPoint). [16 implementers]
src/main/java/de/blau/android/osm/GeoPoint.java
JosmXmlSerializable (Interface)
Serialize to JOSM specific XML @author simon [10 implementers]
src/main/java/de/blau/android/osm/JosmXmlSerializable.java
SearchItemSelectedCallback (Interface)
Provide interface for SearchResult selection @author Simon Poole [8 implementers]
src/main/java/de/blau/android/geocode/SearchItemSelectedCallback.java
PresetUpdate (Interface)
Interface for updating preset related things [26 implementers]
src/main/java/de/blau/android/propertyeditor/PresetUpdate.java
UpdateViewListener (Interface)
Callback to update a view held by something else @author Simon Poole [25 implementers]
src/main/java/de/blau/android/listener/UpdateViewListener.java

Core symbols most depended-on inside this repo

getString
called by 2247
src/main/java/de/blau/android/prefs/Preferences.java
get
called by 1607
src/main/java/de/blau/android/osm/OsmElementList.java
add
called by 1272
src/main/java/de/blau/android/propertyeditor/tagform/ComboDialogRow.java
put
called by 990
src/main/java/de/blau/android/presets/MRUTags.java
size
called by 898
src/main/java/de/blau/android/util/rtree/RTree.java
put
called by 853
src/main/java/de/blau/android/util/collections/MRUHashMap.java
getLogic
called by 665
src/main/java/de/blau/android/App.java
getMessage
called by 584
src/main/java/de/blau/android/AsyncResult.java

Shape

Method 9,185
Class 1,056
Interface 114
Enum 42

Languages

Java100%

Modules by API surface

src/main/java/de/blau/android/Logic.java270 symbols
src/main/java/de/blau/android/prefs/Preferences.java197 symbols
src/main/java/de/blau/android/Main.java181 symbols
src/main/java/de/blau/android/osm/StorageDelegator.java148 symbols
src/main/java/de/blau/android/resources/TileLayerSource.java135 symbols
src/main/java/de/blau/android/propertyeditor/TagEditorFragment.java112 symbols
src/main/java/de/blau/android/prefs/AdvancedPrefDatabase.java92 symbols
src/main/java/de/blau/android/osm/Server.java87 symbols
src/main/java/de/blau/android/propertyeditor/PropertyEditorFragment.java85 symbols
src/test/java/de/blau/android/osm/StorageDelegatorTest.java75 symbols
src/main/java/de/blau/android/resources/DataStyle.java73 symbols
src/main/java/de/blau/android/osm/UndoStorage.java73 symbols

For agents

$ claude mcp add osmeditor4android \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact