Plotting real-time/dynamic data with D3 js - dynamic

I am completely new to D3 js, but I have exposure to Highcharts. I was able to plot real time/dynamic data using HighCharts and also see the old data as there was a scrollbar feature to scroll left/right on the x-axis. The chart in question was a time-series chart with dynamic values displayed as a bar/line graph.
Is there a way to plot a dynamic chart in D3 which updates every second or so. Also I would like to see old data using panning feature in D3 js as it doesnt support scrollbar.
If you are aware of other open source and non-commercial charts which meet my requirement,kindly let me know.

You can try and use C3,js - the pubnub folks have written an extension for (EON) it that readily handles dynamic data; see an overview at https://www.pubnub.com/blog/2015-02-26-building-realtime-live-updating-animated-graphs-c3-js/ and the code at https://github.com/pubnub/eon-chart

Related

How to update chart in Lets-Plot for Kotlin in realtime

I'm trying to modify the simple example in lets-plot-mini-apps github repo which using Lets-Plot Kotlin API in JVM app and renders plot to JavaFX Scene in way to periodically update data on a chart.
This example rebuilds a plot panel each time after data is changed and the chart flickered.
How to update chart with new data and avoid such flickers?
Following #alshan's clue about CardLayout the issue was resolved by naive trick.
Reserved CardLayout with 2 cards.
On first data update a first card is shown and new chart is pushed to the second card. On next data update the second card is shown and new chart is pushed to the first card. And so on.

generate geo tiles from vector data

i am facing this problem : I have in my database some vector data (polylines ...) which describe many world/country/region/cities boundaries.
I would like to have an interactive map on thoses areas.
When i render those data in the browser (data are sent in geojson) this is slow (i'am not surprised).
The next reason, is to generate some raster tiles to represent the areas at different zoom level and to have a way to make the relation between a click on a area and the area selected (to display more info).
I am a newbie in geo tiles :
What is the best tool to generate png/jpg tiles from vector data?
How to make relation between an area clicked and a "id" in database?
I know my questions are very large, but if you have some advices ...
Thanks!
I recently wrote a blog posting on how to improve the rendering speed of raster tiles:
http://blog.webfoot.com/2013/03/12/optimizing-map-tile-generation/
As for connecting a click to a jurisdiction ID, I don't think there is a shortcut: you need to translate the click into lat/lng (or Vast Coordinate System, as I describe in the blog post) and then do a point-in-polygon check. If you are using PostGIS, then you can do an ST_Intersects.
NOTE: if you are using MySQL, the intersection is done with bounding boxes, not the polygons. It still is possible: you just need to grab a point-in-polygon function from somewhere to check which polygon if a bounding-box check gets you more than one.
Here is an example of dots you can click on:
http://maps.webfoot.com/demos/CanadianStimulus/CanadianStimulus.html
Note that because people aren't precise with clicking (especially with tiny dots), I actually make a few pixels around the dots "live" as well as the single-pixel dots. You can also click away from the dot, and then it will show the polygon (which in this example's case, is the federal electoral district).
There is a MongoDB Plugin datasource for Geoserver, a full featured WebGIS Server. You can use it to build up a map rendering service (a WMS actually) ofyour data. Then use Geowebcache to generate tiles of your map.
This way you can use fully featured WebGIS stack, which allows you to manage additional datasources, and easy tile subset recreation if portions of your data get updated.
Also querying features on a map (relation map position to element in database) is provided through Geoservers WFS implementation.

Incorporating a Custom Grid with the Rally SDK

There are a few things that the custom grid does that you cannot do with tables in the Rally SDK-- specifically re-ranking items.
For an app that I am making, incorporating a custom grid would work well, but I would like to be able to configure them programatically-- e.g. set up column names and widths, query parameters, etc. and then have that be a portion of my app-- I might set up a few grids in the app with different query parameters.
It that possible?
It's not possible. Yet.
We are working hard on a shiny new App SDK based on the Ext JS Framework. It will have a lot of the same features you are familiar with in Rally (like the grid w/ re-ranking, inline editing, etc).
Watch for it later this spring/summer!

How do I make legends in Google Maps with a Google Fusion Tables Layer work?

i am using Google Fusion Tables and Google Maps to display geographical data (e.g. markers). My map needs to have a legend, for example by inserting a div on top of the map and the layer. As i am not used to work with API of any kind, i got stuck with this legend problem.
I tried several example codes (most of them provided by google), but none worked for me. I guess that the problem of displaying divs on a map has got something to do with either the styling of the map canvas, the div implementation within the body of the html document or with the framework used (google appengine). But this is just guessing. As i am not a professional with coding, i maybe missed a important point. Maybe the folks here can help me out?
Every hint is appreciated. Thanks.
You can have a look at the code and my example [here (deleted)]. There example includes a code which should display a div, but it doesn't. I've taken it from here (Stackoverflow).
The code you're using is v2 of the Maps API. You'll want to use code that works with v3 of the Maps API, since that is the version you're using on your site.
Have you tried the sample code here?
https://developers.google.com/fusiontables/docs/samples/legend
Copy and paste the legend code from this example into your initialize method, remove the old legend code. If this doesn't work, let me know.

3D window creation and plotting in Ocean for Petrel

I am trying to draw a 3D plot in Petrel where I am trying to plot some volume data using OpenInventor.
I am doing this through a custom domain object. But I dont want to select an item from the input tree. I want my algorithm should automatically open a 3D window and do the plotting for me using data from that class.
How do I go about doing this?
I have a class with the data and the corresponding OIV factory class for plotting.
Please help. How do I create a cube and plot data automatically?
Regards
It sounds like you are not interested in integrating with the existing 3D window.
I suggest that you host your own OIV Examiner Viewer in your own dialog. Then you do not need to create data objects, render factories, etc.
If you do want to participate in the existing 3D window you need to do:
CoreSystem.Services.Register(typeof(MyData), typeof(IWindow3DRenderer), new MyRenderer());
and
var data = new MyData()
PetrelProject.Inputs.Add(data);
PetrelProject.ToggleWindows.Show(data);