Opened 11 hours ago
#24886 new enhancement
Split uploads to OSM API Rate Limits - upload nodes AND ways within rate limit
| Reported by: | frspp | Owned by: | team |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Core | Version: | latest |
| Keywords: | template_report | Cc: |
Description
Hi! Thanks for great software!
I was uploading 580 000 buildings as part of OSM import project. JOSM automatically splits this to 10 000 each, resulting 3 600 uploads. As a result I hit rate limit after 1 000 uploads - with importer role rate limit seems to be 1 million objects per hour.
Currently JOSM first uploads all the nodes, and only at last ways. This lead to situation where like first ~3 000 uploads were only nodes, rate limit stopping the process every now and then, and only next day I was able to finish the uploads and finally got the ways uploaded too. This led to confusion and some conflicts too as few users even happened to edit/add buildings in between.
Would be cool if JOSM would try to fit nodes AND ways within upload's rate limit. To achive this I guess few new options would be good to have in Upload window:
- Checkbox "Split uploads per Rate Limit"
- OSM API Rate Limit: By default 1000/hour (normal user's limit)
I guess such options would work with relatively small objects, such as buildings. Dunno about large object like land cover, long roads, lakes etc.
Please provide any additional information below. Attach a screenshot if possible.
Relative:URL: ^/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2026-08-11 15:36:21 +0200 (Tue, 11 Aug 2026) Revision:19613 Build-Date:2026-08-12 01:30:51 URL:https://josm.openstreetmap.de/svn/trunk Identification: JOSM/1.5 (19613 en) Mac OS X 15.7.9 OS Build number: macOS 15.7.9 (24G830) Memory Usage: 4548 MB / 6144 MB (814 MB allocated, but free) Java version: 21.0.11+10-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM Look and Feel: com.apple.laf.AquaLookAndFeel Screen: Display 1 2294x1490x32bpp@60Hz (scaling 1.00×1.00) Display 2 1920x1080x32bpp@60Hz (scaling 1.00×1.00) Maximum Screen Size: 2294×1490 Best cursor sizes: 16×16→16×16, 32×32→32×32 Environment variable LANG: en_FI.UTF-8 System property file.encoding: UTF-8 System property sun.jnu.encoding: UTF-8 Locale info: en_FI Numbers with default locale: 1234567890 -> 1234567890 VM arguments: [-Djava.util.Arrays.useLegacyMergeSort=true, --add-reads=java.base=ALL-UNNAMED,java.desktop, --add-reads=java.desktop=ALL-UNNAMED,java.naming, --add-reads=java.naming=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.awt=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/javax.jnlp=ALL-UNNAMED,java.desktop, --add-exports=java.base/com.sun.net.ssl.internal.ssl=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.action=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.provider=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.util=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.validator=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.x509=ALL-UNNAMED,java.desktop, --add-exports=java.base/jdk.internal.util.jar=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.awt.X11=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.applet=ALL-UNNAMED,java.desktop,jdk.jsobject, --add-exports=java.naming/com.sun.jndi.toolkit.url=ALL-UNNAMED,java.desktop, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=javafx.graphics/com.sun.javafx.application=ALL-UNNAMED, --add-exports=jdk.deploy/com.sun.deploy.config=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djava.security.manager=allow] Plugins: + Mapillary (1822) + conflation (280) + jts (36483) + utilsplugin2 (36503)


