I'm toying around with d3.js and some other javascript libraries plotting geoJSON data in the browser. I've done some cool things with the data, but to give it a bit more context I want to lay it over a map that fills the browser (i'll probably make it opaque to not distract). I've spent a few hours with the google and bing API, which have great "zoom" options, but I want to specify how detailed the map becomes without further restricting how far I can zoom in. Is there a way to do this? I.e. I want to zoom further in and be able to pan around, without all of the side streets appearing-- maintaining the "main drags" of the city I'm working with.
I'm open to using different resources, but this is not a commercial product so I don't want to pay anything. As far as I know, the option for increasing and decreasing the detail/resolution of the pane is by increasing or decreasing the zoom variable. Thanks.
Edit: There really doesn't need to be much interaction with the map. This is kind of the intention http://www.caudillweb.com/temp/d3_choropleth.html, but since it will be at the city level, as you can see when you zoom in that far all sorts of different elements and side streets appear, taking away from the clean view at a more zoomed-out level and it begins to distract from the data.
Related
I wanted to display a map in HTML5 notification. Since notifications do not allow a full fledged HTML+JS app to run inside them, I wanted to show just an image.
The question is how do I get the link to the appropriate map tile image if I know the lat/lon co-coordinates. I can set some fixed values for zoom level etc. I don't wan't to run my own tile server or depend on third party servers (other than openstreetmaps.org) that may go down any time. I am okay with the lack of ability to customize image size, or centering image around the co-ordinate etc.
There are a bunch of example conversions from lat/long to tile number in various langauges on this OSM wiki page - hopefully you'll find something there that you can use.
I am a novice QGis user, and I’m sure there is an easy way to do what I want, but I don’t have a clue as how to start. I downloaded a bunch of SRTM DEM sections and combined them into one raster layer. An image of my elevations and rivers is shown here.
The problem is that the area covered is all of eastern Europe, so it takes a long time to refresh whenever I pan around the map. Is there a way to speed this up?
I suppose that things would go faster had I not combined all the sections into one raster, but I want all the sections to have the same properties, and don’t want to have to change the properties for each segment one-at-a-time every time I change properties.
If someone could point me in the right direction on this that would be great!
There are several things you can do to increase your rendering performance, most of them under Settings -> Options -> Rendering:
You could use render caching to allow QGis to spare some computations when redrawing your rasters. You can also check render layers in parallel by using CPU cores to give the rendering more resources, as well as enable feature simplification for new layers. You can also uncheck the less jagged lines option to prevent the use of that extra performance it takes.
Another trick I usually do when moving around large maps and rasters is to uncheck the render option, move and pan around, and then check the render option back again on the desired region. This I found prevents unnecessary rendering when moving, panning and zooming repeated times. This is the render feature I was mentioning, you can find it in your bottom bar:
You can also check this related GIS Stackexchange question if you want to know more options.
Hope this helps.
I would like to draw a map of current temperatures (or air pressures, etc.) from many weather stations, with the underlying map still recognizable. the problem is easiest to think of as follows:
I have an array of spot measurements from irregularly spaced dots---think triples of GPS coordinates with one temperature value each. my stations can be very close to or very far apart from one another, and a user may want to zoom in or out. cold should be blue, warm should be red. Ideally, I would like to just pass the array, the color range, and have the rest be taken care of. I would prefer everything to be inside a web browser. The user needs to be able to zoom in, zoom out, move around, and get back to his current location.
I do not even know how to think about this problem. If a user has zoomed out enough, non-transparent dots could be so close as to obscure the terrain. However, zooming in, it would be nice to recognize the dot that is the station itself. This presumably requires some intelligence that realizes how many dots there are, e.g., relative to the density of the display? not sure.
I believe google maps charges for many API calls, so I would prefer using an open map and/or open API that can use different underlying maps. It does not have to be fancy. I don't care about directions, etc.---just a map that is recognizable at most zoom settings, with landmark and street names, and my nice temperature station overlay coloring, so that a user can visualize where it is cold and where it is warm.
(Stations come online and offline, but I don't need to update this more than once an hour. I can place the map measurements into a file that is URL web-accessible.)
is this an easy or a hard problem for the high-level web programmer?
/iaw
after looking around for a long time, I think the best way to do this is with html5 openlayers nexrad.
alas, the docs seem to be a mess. half the examples that I found did not seem to work. it's pretty hit-or-miss. similarly, the openlayers cookbook also seems to be outdated and has incorrect examples, but they did have a reasonably short example of such a nexrad map overlaid on the U.S., that one can further study.
I want to make an html5 app for mobile devices, where one of the features is a Google Map. I am able to do this using the regular apis embedded in html5 in the normal way.
However, for the next version I want something more particular. Instead of the user being able to view anywhere in the world at any zoom, I want to restrict it to view only inside, say, a 20 km rectangle around a particular location, for, say, only 4 levels of zoom. i.e. there is only a small finite number of tiles that ever need to be used. Also since there is a limited area and a small finite number of tiles, I want to download absolutely all the tiles for every zoom level when the html5 app first opens, and store them locally. This would allow a user to look around inside this 20 km rectangle, and zoom, pan, etc, and the loading would be lightning-fast. (i.e. it would not be fetching new data from GMaps' servers each time you change zoom or pan--instead all of that data would be stored locally (downloaded when the app is run for the first time) and simply displayed as the user navigates around. How do I do this?
Also if there is a non-Google-Maps solution I am interested in that too.
Thanks
Would this article by Drew McLellan on 24ways help you out in any way?
http://24ways.org/2010/finding-your-way-with-static-maps
That would be breaking the Terms of Service. You are not allowed to download/cache tiles.
I need a map of the UK showing counties that the user can then click on. I've determined that without using flash I can use image maps, and I have a large png county map that I can use.
However, to execute this I would be spending the better half of a day clicking dots on the lines between counties, and would have to repeat the exercise should I make a mistake, browser crashes, or the results arent satisfactory, or the image needs resizing.
Is there an easier way to pull this off without paying out or a large dose of repetitive clicking?
This Dundas Maps support page provides a lengthy list of resources for (mostly) free map data.