Fusion Table layer intermittently shows unstyled markers on Google map - google-maps

I have a Google map with a couple of Fusion Table layers (one with markers, the other one with polygons). I am styling them on the Fusion Table UI side, and then choosing the particular style with styleId on the client side.
The problem I am having is that on occasion, the markers appear as red dots instead of with the particular marker I've chosen in the styles (using icon from column). If I try again an hour later (without changing anything), the map now renders correctly.
My theory is that it likely has to do with how/when Google caches the tiles, since I noticed it this morning (Monday) on my map, after not visiting it since Friday.
1) Does this sound like a possible cause?
2) Is there any way to fix this? Some way to "Warm-up" the cache?
For the sake of completeness, I do truncate and repopulate the Fusion Table through the API once a day. This could possibly be wiping out any previously cached tiles, if my theory is correct.

Unfortunately this is a bug that we're trying to track down. In general the thing heals itself after a delay, as you've seen, but it can revert and flip back and forth. There's no workaround that we know of right now, but we are actively searching for the root cause.

I've seen this specifically when using multiple fusiontables layers. Reverting back to 1 layer seems to bring things back to consistency. For our production product, we've had to limit the intended functionality of the app due to this constraint.
I have tried multiple "tricks" to refresh cache, reload layers, etc. With more than one layer, we never were able to make it consistent.
Glad to hear that it's being actively looked at.

Related

Seed up refresh of large raster layer in QGIS

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.

How to start an embedded kml tour?

This is my first post, wooohooo! I've been using stack exchange when I needed information but usually someone had the same problem as me and I didn't need to make a post. Which means this website is really good.
Now turns out I have a pretty unique problem.
Please check out http://gaia.tru.ca/birdMOVES/
You will see a website with a google map. It is connected to a db which will be automatically updated.
The purpose of this website is to track how birds feed. There is going to be bird feeders equipped with NFC all over the world to track birds equipped with RFID when they feed.
I am taking care of the front-end, the web app for visualizing.
This is a work in progress so try not to care about the looks of it.
Apparently everything was written in RApache because the person who made everything this far is a Geography teacher(Not a lot of programming background, I had to refactor his code and learn R because it wasn't in my array of known languages.)
My client asked me to add time animation to his map. Feasible with the help of Google Earth.
I made the existing R code generate a tour. It works perfectly and even shows on my map.
Here is the address of my dev server: http://thelab.dyndns.org:1080/birdmoves/
You can see that there is an extra check box for time animation. If you check it, the tour will appear as an object on the map (no way to use it whatsoever right now).
So what I'd like to know is how do I make it work? How do I make it autoplay when the submit button is pressed? With standard google earth controls for rewind, pause and fast-forward. And independently from the google maps without tour?
This is intense. I have the feeling google earth isn't going to work because they deprecated all their gadgets.
I'm on the clock and I need help.
In case you were wandering what eventually happened:
We ended up making a hybrid website where the static visualization is within Google maps using kml and the time animation is within CesiumJs using CZML.
CZML is based off JSON and can be used very similarly to kml.
The api is also very nice, it only takes one line of javascript code to get a map running on an existing server.
To implement time visualization CZML supports putting multiple consecutive values for almost any property(like position, to animate movement, or even color to change colors) and takes account of time.
Also very nice, CesiumJs supports animated 3d models!
If you're interested http://cesiumjs.org/
It also has a lot of support, documentation and tutorials... etc..
It's being maintained by professionals. I really recommend it.
The Google Earth API got deprecated and will not function by December this year which is not a viable option for a long term service. So cesium was the only option for this specific project.
Cheers

open earth map with irregular station measurement overlays

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.

OpenLayers Clustering Adds Features to Selected Features Array on Zoom

This is my first posted question despite using StackExchange for a few years now. I've been stuck for quite some time trying to figure out this issue with OpenLayers. The problem is as follows:
I have a bunch of features plotted on a map and am able to select features in various ways (e.g. drawing a box around them, clicking on individual features, entering a zip code that selects all features within that zip code, etc.). This all works fine. The issue is that I have a clustering strategy on the features layer and when I zoom out, currently selected features get clustered together with unselected features and those unselected features will become selected when I zoom back in. What I'm trying to accomplish is to NOT have the previously unselected features become selected after clustering.
This behaviour (keeping selection of subfeatures after zooming in with selected cluster) is buried quite deep inside of Strategy.Cluster code. One solution would be to get deep into the code of Strategy.Cluster and making it remember really selected features and select only those on zoom in (actually - on reclustering, or calling Strategy.Cluster.cluster()). Second would be to track the selected features outside of openlayers by subscribing to event featureselected and reselecting features on zoomend.

HTML Canvas: Saving a graphic element to be modified later by other users

I would like to face a problem for which I haven't seen a solution looking around in Internet. This is: I need to save the elements drawn by WEB users on a canvas space not as a flat image, but each one singularly. This in order to let the same user, or even other users, to modify every single element (drag-and-drop, erase, erase partially, ecc.) in a second moment. This should also help to eventually save a drawing history and restore it in next working sessions. All the examples I found were intended to save just a canvas flat image.
Update:
To better clarify: not necessary as layers, but for sure I thought to realize several different driving tools; a drawing element is the singular application/istance of a tool: a circle, a box, a added image, a straight line or even a free hand drawing that start from the moment of right button mouse click till it is released. Then the chance to save the elements state allowing to modify each one in a second moment.
You can't do this natively with canvas. You should look at using a third party library. Fabric is a library that was built to do what you want.
The base idea was to use convans as a container for vectorial shapes (triangles, squares, cirlces, etc.), manual drawn figures (see example http://www.williammalone.com/articles/create-html5-canvas-javascript-drawing-app/) and inserted images giving the chance to users to save/upload the content not as serialized image, but with each distinguished element in its original format in order to continue to work on them in a future work session.