Opened 16 years ago
Closed 14 years ago
#2840 closed enhancement (wontfix)
Make High resolution Yahoo available for WMSPlugin
Reported by: | delta_foxtrot2 | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Core imagery | Version: | tested |
Keywords: | yahoo resolution satellite imagery | Cc: | delta_foxtrot@…, delta_foxtrot2, AM909, nakor.wp@… |
Description
After upgrading JOSM and the WMS plugin I'm no longer able to use Yahoo Sat Imagery as it only displays hi-res sat images, and most areas of Australia outside of cities only have low res images...
eg -26.5926,152.7333
Selecting "Change Resolution" seems to do nothing and I can't find any other options to change the sat imagery resolution, the old plugin used to be able to download dat imagery when the zoom was about 1200+ m
Attachments (0)
Change History (42)
comment:1 by , 16 years ago
Cc: | added |
---|
comment:2 by , 16 years ago
Component: | Core → Core imagery |
---|
comment:3 by , 16 years ago
Path: trunk
URL: http://josm.openstreetmap.de/svn/trunk
Repository Root: http://josm.openstreetmap.de/svn
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Revision: 1755
Node Kind: directory
Last Changed Author: stoecker
Last Changed Rev: 1755
Last Changed Date: 2009-07-09 10:53:33 +0200 (Thu, 09 Jul 2009)
Memory Usage: 51 MB / 63 MB (19 MB allocated, but free)
Java version: 1.6.0_13
Plugins: buildings_tools
dataimport
measurement
multipoly
openstreetbugs
openvisible
remotecontrol
tagging-preset-tester
terracer
usertools
utilsplugin
validator
waydownloader
wmsplugin
Plugin buildings_tools Version: 18
Plugin dataimport Version: 16382
Plugin measurement Version: 16317
Plugin multipoly Version: ${version.entry.commit.revision}
Plugin openstreetbugs Version: 16294
Plugin openvisible Version: 15707
Plugin remotecontrol Version: 16290
Plugin tagging-preset-tester Version: 14015
Plugin terracer Version: 16162
Plugin usertools Version: 14125
Plugin utilsplugin Version: 16162
Plugin validator Version: 16346
Plugin waydownloader Version: 16290
Plugin wmsplugin Version: 16363
java.lang.NoSuchFieldError: editLayer
at org.openstreetmap.josm.plugins.validator.ErrorLayer.layerRemoved(ErrorLayer.java:134)
at org.openstreetmap.josm.gui.MapView.removeLayer(MapView.java:214)
at org.openstreetmap.josm.Main.removeLayer(Main.java:170)
at org.openstreetmap.josm.gui.dialogs.LayerListDialog$DeleteLayerAction.actionPerformed(LayerListDialog.java:89)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Error occurded while trying to delete the WMS layer form JOSM. The WMS layer came with an exception (as well with landsat as also with Yahoo)
comment:4 by , 16 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
No problem here downloading at "1597m". The resolution largely depends on the script for downloading. maybe the current script prefers a little bit higher resolutions.
The crash is a duplicate.
comment:5 by , 16 years ago
Resolution: | worksforme |
---|---|
Status: | closed → reopened |
While it works at even lower res, it still isn't ideal, yahoo imagery was comparable with landsat if not a little better, now it's worst at the resolutions I gave in the original ticket.
comment:6 by , 16 years ago
Owner: | changed from | to
---|---|
Status: | reopened → needinfo |
Sorry, but that can't be. As Yahoo does not scale the images, the display must be equal independent from the level at which JOSM downloads these images.
The old Yahoo is still available at "YahooOld.html". Show me a comparable difference between these two.
follow-up: 9 comment:8 by , 16 years ago
Make two WMS entries. One the default one with YahooDirect.html, the other one with YahooOld.html.
comment:9 by , 16 years ago
Replying to stoecker:
Make two WMS entries. One the default one with YahooDirect.html, the other one with YahooOld.html.
That doesn't show the old yahoo images, as per the ticket I used to be able to get Yahoo sat imagery to work above 1200m, neither of these work until you zoom out to about 1500m which appears to be another zoom level above what older versions of plugin showed.
comment:10 by , 16 years ago
http://josm.openstreetmap.de/wmsplugin/YahooOld.html is the old unmodified way wmsplugin worked. If this does not give same results, then you have changed something else.
In wmsplugin have been no changes regarding display.
Maybe you use wrong projection? To use Yahoo you need to have EPSG:4326 or Mercator (which the new Yahoo script checks, the old does not).
comment:11 by , 16 years ago
I've been using an old copy with the current r1741 and it still works, the app complains about wanting to upgrade to the latest, but it still works...
However, the old plugin seems to work differently than what you are saying, all I can say is download wmsplugin from svn 15942 and it works diff.
comment:12 by , 16 years ago
I guess I'll have to resort to using screen shots since I probably can't do both at the same time.
comment:14 by , 16 years ago
I can confirm something has gone awry in windows. Zooming very far in and fetching yahoo tiles results in pixelated portions of the yahoo tiles (the lower left right quadrant perhaps.)
follow-up: 16 comment:15 by , 16 years ago
Make it reproducable or this is still personal opinion. What area, what settings, how did it look before, how does it look now.
comment:16 by , 16 years ago
Replying to stoecker:
Make it reproducable or this is still personal opinion. What area, what settings, how did it look before, how does it look now.
I'm still waiting to find out how do I get identical zoom between runtimes?
comment:17 by , 16 years ago
Use the same bounding box and you get the same zoom. As said there may be differences at which zoom level josm downloads the data, but the display should be the same.
comment:18 by , 16 years ago
I was asked to add to this ticket; I have no experience with the webkit version, but downloaded the latest wmsplugin.jar yesterday. In Potlatch, the yahoo imagery for the area I'm mapping is good all the way up to zoom-level 17, and through yahoo itself, there is aerial photography up to what looks to be .01m resolution: http://maps.yahoo.com/#mvt=s&lat=37.574392&lon=-121.981365&zoom=21
However, from WMS Plugin I'm getting images at no better than 1 or 2m, very pixellated at the levels I need to work with. I made sure to zoom in to roughtly the same scale as the Yahoo link above, and cleared the cache, but still get a very rough image.
follow-up: 20 comment:19 by , 16 years ago
Did you try zooming in a bit more before activating the Yahoo WMS layer? Thus higher res tiles should be pulled.
comment:20 by , 16 years ago
Replying to Claudius Henrichs <claudius.h@…>:
Did you try zooming in a bit more before activating the Yahoo WMS layer? Thus higher res tiles should be pulled.
Yes: Beginning with JOSM not running, I cleared the cache directory, fired up JOSM and zoomed in to an area I recently mapped, to match the highest resolution that the Yahoo Web UI would give me, and then enabled a Yahoo Sat WMS layer.
comment:21 by , 16 years ago
You you use a high resolution area (> zoom level 18) which is not available for JavaScript Yahoo access. There is nothing we can do about that at the moment (until Yahoo improves JavaScript API). But this is an entirely different topic - this has not changed.
comment:22 by , 16 years ago
Actually there now is a flash-JS-API for Yahoo, but I doubt it can be used for JOSM: http://developer.yahoo.com/maps/flash/jsGettingStarted.html
comment:23 by , 16 years ago
OK; I never did get webkit running for this (on Windows); Does it have the same resolution limitation (for yahoo)?
follow-up: 25 comment:24 by , 16 years ago
Owner: | changed from | to
---|---|
Priority: | critical → normal |
Status: | needinfo → new |
Summary: | WMS plugin changes make Yahoo sat images unusable → Make High resolution Yahoo available for WMSPlugin |
Type: | defect → enhancement |
comment:25 by , 15 years ago
The issue has been brought up again on talk-us, and the user has actually prepared a difference shot between Potlatch and JOSM WMS for the same area:
http://sites.google.com/site/am909geo/osm-1/BadYahooImagery.jpg?attredirects=0
This shows the less than optimal images in JOSM. JOSM uses the Javascript API which retrieves images of the form
http://maps1.yimg.com/ae/ximg?v=1.9&t=a&s=256&x=22784&y=13251&z=1
where the best available zoom is really 1; whereas Potlatch uses the Flash API (I guess) and retrieves high-definition imagery like this:
http://us.maps3.yimg.com//aerial.maps.yimg.com/img?md=1204827325&x=45569&y=26502&z=19&r=1&v=1.7&t=a
This seems to be a well-known issue (the fact that the Ajax API doesn't have the same image quality). There is a Javascript-controlled Flash API which could be used to solve the problem but again that would require a browser component that does Flash.
comment:26 by , 15 years ago
Cc: | added |
---|
It makes almost no sense to use the WMS plugin to load tiles, regardless of the source, because it potentially loads the same tile multiple times when producing over lapping images.
It makes much more sense to extend the slippymap plugin to load layers the same way the WMS plugin does, but the slippymap layer is a lot more efficient because it downloads tiles it doesn't try to make an image from a number of tiles etc etc etc.
comment:27 by , 15 years ago
For an example of what I'm talking about you only have to look at the NearMap imagery methods published on the OSM wiki:
http://wiki.openstreetmap.org/wiki/NearMap_PhotoMaps
The slippymap method is orders of magnitude faster at loading tiles than the WMS method.
follow-up: 29 comment:28 by , 15 years ago
@delta_foxtrot2:
This is out of question. We MUST use the openly available API.
comment:29 by , 15 years ago
Replying to stoecker:
@delta_foxtrot2:
This is out of question. We MUST use the openly available API.
They have a REST API, this seems a lot smarter than using the current WMS method:
http://developer.yahoo.com/maps/rest/V1/
They have a number of other API methods that may be much more suitable:
comment:30 by , 15 years ago
REST API has the same limitation as the JavaScript API (i.e. reversed zoom) and as said I was unable to use the Flash API.
REST API may be faster than the plain JavaScript API thought (only load one image instead of many). Development of a new HTML-Page using it is welcome. I don't have time to change a working solution, when there are many things which are not working.
comment:31 by , 15 years ago
They give PHP code example to use the REST API, so it should be trivial and this way you don't even need webkit since it produces a single image the size/type etc you want.
<?php
$response = file_get_contents($request);
if ($response === false) {
die('Request failed');
}
$phpobj = unserialize($response);
echo $phpobjResult;
follow-up: 33 comment:32 by , 15 years ago
What we need is not "an image", but "an image exactly for a given bounding box". This is much more work than what you think.
comment:33 by , 15 years ago
Replying to stoecker:
What we need is not "an image", but "an image exactly for a given bounding box". This is much more work than what you think.
That was actually trivial, however the API doesn't seem to allow sat imagery, so back to square one.
list($lon1, $lat1, $lon2, $lat2) = explode(',', $_REQUESTbbox);
$lat = ($lat1 + $lat2) / 2;
$lon = ($lon1 + $lon2) / 2;
$rad = abs($lat - $lat1) * 60; needs to be fixed to return radius in exact miles for the given latitude.
$request = 'http://local.yahooapis.com/MapsService/V1/mapImage?output=php&appid='.$key;
$request .= '&image_height='.$_REQUESTheight.'&image_width='.$_REQUESTwidth;
$request .= '&radius='.$rad.'&latitude='.$lat.'&longitude='.$lon.'&setMapType=satellite';
comment:34 by , 15 years ago
I doubt your code produces the right image. It will produce an image of width/height with correct central point, but the edge coordinates do not match. WMSPlugin accepts wrong image size, but not wrong coordinates. If you can provide something working like
we can switch the defaults and install it on the server.
Requirements are easy:
- Parse argument bounding box and deliver an image as result, which represents that box
- width/height should approximately match the requested values (if possible).
comment:35 by , 15 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
Nearmap imagery has superceeded Yahoo imagery in Australia...
comment:36 by , 15 years ago
Cc: | added |
---|---|
Keywords: | yahoo resolution satellite imagery added |
Resolution: | worksforme |
Status: | closed → reopened |
Version: | → tested |
I disagree that this is resolved. Yahoo imagery in JOSM is still quite poor, and in the US outside the limited scope of USGS urban, there is no other solution.
See http://sites.google.com/site/am909geo/osm-1/BadYahooImagery.jpg .
The imagery available in many places in Potlatch and Yahoo Maps at z=20 is over 12x the resolution available in JOSM. The apparent native res of the images in JOSM is the same at zooms out to 160m (1.6m/pel), while z=20 in Potlatch/YMaps is 0.125m/pel.
It would be very cool if someone could devise a solution for this.
comment:38 by , 15 years ago
The area where I just compared the different resolutions is http://www.openstreetmap.org/edit?lat=33.775398&lon=-118.124184&zoom=20
The jpg is around here: http://www.openstreetmap.org/edit?lat=34.156681&lon=-117.400333&zoom=19
comment:39 by , 15 years ago
FWIW, I see an inconsistency of a factor of 2 in the scale I reported above, and I can't right now see why that is after playing with it bleary-eyed for a couple hours. Using requests like http://aerial.maps.yimg.com/img?x=180340&y=105704&z=21&r=1&v=1.7&t=a produces a 256x256 pel image at ~0.125m/pel which I think would make z=20 ~0.25m/pel, but I could be wrong about my assumption of a binary scale - I can't remember where I saw that and can't seem to find it.
comment:40 by , 15 years ago
The flash API supposedly has higher resolution imagery than available via other APIs, and JOSM developers have made it clear they are only going to include code that is publicly supported so it's not likely that higher res imagery will be available in JOSM unless yahoo changes their APIs.
comment:41 by , 15 years ago
Cc: | added |
---|
comment:42 by , 14 years ago
Resolution: | → wontfix |
---|---|
Status: | reopened → closed |
Since Yahoo is stopping its WMS service in near future I change this to wontfix
As a side note, if you download the "tested" version you can't get the old plugins, it downloads the current versions which complain about requiring JOSM version 1722 and 1725.