Modify

Opened 12 years ago

Closed 10 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 Changed 12 years ago by delta_foxtrot2

Cc: delta_foxtrot@… added

comment:2 Changed 12 years ago by delta_foxtrot2

Component: CoreCore imagery

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.

comment:3 Changed 12 years ago by BurnyB

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 Changed 12 years ago by stoecker

Resolution: worksforme
Status: newclosed

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 Changed 12 years ago by anonymous

Resolution: worksforme
Status: closedreopened

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 Changed 12 years ago by stoecker

Owner: changed from team to delta_foxtrot2
Status: reopenedneedinfo

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.

comment:7 Changed 12 years ago by delta_foxtrot2

Can you give me an example of how to get old v new?

comment:8 Changed 12 years ago by stoecker

Make two WMS entries. One the default one with YahooDirect.html, the other one with YahooOld.html.

comment:9 in reply to:  8 Changed 12 years ago by delta_foxtrot2

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 Changed 12 years ago by stoecker

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 Changed 12 years ago by delta_foxtrot2

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 Changed 12 years ago by delta_foxtrot2

I guess I'll have to resort to using screen shots since I probably can't do both at the same time.

comment:13 Changed 12 years ago by delta_foxtrot2

Any hints on getting identical zoom?

comment:14 Changed 12 years ago by tylerritchie

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.)

comment:15 Changed 12 years ago by stoecker

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 in reply to:  15 Changed 12 years ago by anonymous

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 Changed 12 years ago by stoecker

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 Changed 12 years ago by davetoo

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.

comment:19 Changed 12 years ago by Claudius

Did you try zooming in a bit more before activating the Yahoo WMS layer? Thus higher res tiles should be pulled.

comment:20 in reply to:  19 Changed 12 years ago by davetoo

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 Changed 12 years ago by stoecker

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 Changed 12 years ago by stoecker

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 Changed 12 years ago by anonymous

OK; I never did get webkit running for this (on Windows); Does it have the same resolution limitation (for yahoo)?

comment:24 Changed 12 years ago by stoecker

Owner: changed from delta_foxtrot2 to team
Priority: criticalnormal
Status: needinfonew
Summary: WMS plugin changes make Yahoo sat images unusableMake High resolution Yahoo available for WMSPlugin
Type: defectenhancement

comment:25 in reply to:  24 Changed 12 years ago by framm

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 Changed 12 years ago by delta_foxtrot2

Cc: delta_foxtrot2 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 Changed 12 years ago by delta_foxtrot2

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.

comment:28 Changed 12 years ago by stoecker

@delta_foxtrot2:

This is out of question. We MUST use the openly available API.

comment:29 in reply to:  28 Changed 12 years ago by delta_foxtrot2

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:

http://developer.yahoo.com/maps/

comment:30 Changed 12 years ago by stoecker

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 Changed 12 years ago by delta_foxtrot2

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

$request = 'http://local.yahooapis.com/MapsService/V1/mapImage?appid=YD-bGrhXEw_JXyniyYzf1l6_NzPNWbPu6Ey5Q--&street=701+First+Avenue&city=Sunnyvale&state=CA&output=php';


$response = file_get_contents($request);


if ($response === false) {

die('Request failed');

}


$phpobj = unserialize($response);


echo $phpobjResult?;

comment:32 Changed 12 years ago by 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.

comment:33 in reply to:  32 Changed 12 years ago by delta_foxtrot2

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 Changed 12 years ago by stoecker

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 Changed 11 years ago by delta_foxtrot2

Resolution: worksforme
Status: newclosed

Nearmap imagery has superceeded Yahoo imagery in Australia...

comment:36 Changed 11 years ago by AM909

Cc: AM909 added
Keywords: yahoo resolution satellite imagery added
Resolution: worksforme
Status: closedreopened
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:37 Changed 11 years ago by bastiK

please give lat/lon of your example

comment:39 Changed 11 years ago by AM909

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 Changed 11 years ago by delta_foxtrot2

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 Changed 11 years ago by Nakor

Cc: nakor.wp@… added

comment:42 Changed 10 years ago by skyper

Resolution: wontfix
Status: reopenedclosed

Since Yahoo is stopping its WMS service in near future I change this to wontfix

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.