What tools should I use to build data visualization dashboard - maps

I needed help and guidance on something. I had developed a web form that would require users to submit their planting information about the crop planted, location, date of planting, planting technique, level of experience etc. This information is what I am going to use to develop planting calendars so that it will answer questions like when should i plant this crop? This information will be displayed in terms of interactive charts, graphs and plots and also maps and dashboard to filter data. Like for instance a chart should be drawn if a user selects/filters out crop planted and their location in the dashboard, I should have the charts/graphs/plots of date planted, planting technique and experience. I would also select a crop and a specific year and I should get a line plot showing extents of it throughout that year. I was thinking of making it a web map and chart. However, I was not sure of the best open source tools that will set this to work. I had an idea that should connect maybe the maps and the charts and graphs together such that what i filter out in the dashboard, say I select California as the location and the date range, I should have the map zoom to that location while plotting graduated symbols of the crops and at the same time drawing out charts and graphs of the crops lets say outside the map, in a section of its own.
If anyone of you has an idea of some of the best tools I can use to set this to work, kindly guide me.

Grafana could probably satisfy your needs. Besides its core data analytics functionality with support for building all kinds of tables/charts/graphs, it also has plugins for handling geographical data on maps.

That's an interesting use case. While there are dozens of data visualization tools (DVTs) available; but will recommend the following options-
Tableau
Grafana
Google Analytics
Take a look at some differences between commonly used DVTs.

Related

What is ArcGIS Layer basically?

Hi I am recently trying to build ArcGIS applications, when i tried one i came across creating a layer online and importing onto our current map, the thing is, i was thinking it would be more like this: the map would be the canvas and whatever data we need will be on a plastic sheet which we can place upon the canvas for visualization, and remove it upon our need, but recently i tried to create my own 3d layer data and there were 2d points coming out when i asked someone they said the layer is not like the plastic sheet but table where you store the data and later take it as a reference to draw them in whatever shapes you want, can anyone shed more light into this??
There are some things that I think are important to clear up in order to get the best answer.
What kind of application are you building? Are you using WebApp Builder/Experience Builder within ArcGIS Online, or are you developing a standalone mapping application on some other stack?
The second description of a GIS layer is relatively accurate. GIS data will (should) have a tabular component that contains attributes related to the point, line, or polygon drawn on the map. The table drives what you see on the map, not the other way around.
I would recommend that you use your organization account or a free ArcGIS Online account and access Esri's "GIS Basics" course here for a great primer on ArcGIS Online, including web layers. There are a number of other free trainings that you can use to enhance your GIS knowledge.

Building Simple Web Analytics Tool

I would like to create a simple Web Analytics tool to be used by a small number of people running different websites as part of a project i'm doing. The reason why I am not using Google Analytics or any other free analytics tool is because I would like to learn how to build one myself. The tool just uses bars, pies and charts to display page views, clicks , referring site, traffic etc.
I've been asking around and people point me to Javascript, Python and MongoDB, the first two I know a little of. Can anyone suggest a framework for me to get started on?
I would definitely look into Keen.io if you need a place to store analytics event data and want to build your own reporting interface. They have a strong infrastructure and query tool to call up your data quickly inside a custom reporting interface.
You could also use Segment.io's collection libraries. Through segment.io you can still send data to Keen.io for your own custom use and route the same data to something like Google Analytics or Mixpanel so you have it in a pre-built system if you need it.

The correct choice of tools for a new Deep Zoom application

I want to create a new application. It will basically be a Deep Zoom application that users can draw annotations on (that will save to a DB so other users can see those annotations.) At first it will just simply run in a browser. However, the app would be useful if it could be used by enthusiasts in the field, so ability to run on smartphones or other handheld devices would be massively beneficial. 3G/4G signal is likely to be practically non existent in those places, so having the ability to download all the images and info for an "area" would be good.
I can't decide on which technology to use. Silverlight Deep Zoom apps look really nice in browsers, but I have heard that it is not a widely supported technology that MS might be ditching anyway and the only smartphones that would be capable of running Silverlight would be Windows phones = a very small share of the smartphone market. Flash will probably never run on iPhones/Apple products in general. So should I use HTML5? HTML5 all seems a little confusing to me at the moment, would it even be possible to make a HTML5 Deep Zoom application that users could annotate?
Any thoughts and advice would be really handy, thanks for reading.
I wrote a Deep Zoom app that supported annotation for a proof of concept a couple of years ago.
I used Django for this, however it is not approach I would recommend. If i was doing the same job again I would use CanvasZoom, which is based on HTML5. Canvas Zoom can be embedded into a webpage through javascript. There is a guide on how to do this here:
a link
Unfortunately you need to run Microsoft DeepZoom composer on the original image first in order too generate the deep zoom data that CanvasZoom will use. If you want your app to run in a browser it is likely that you will have to go for the following approach.
User selects image.
Image gets uploaded to server
Server creates deep zoom information
Use a PHP based approach so you have a canvaszoom page for the image.
The annotations will probably complicate matters, I did this with javascript when I attempted it. The trick is to work out when the image has been zoomed in (with canvas zoom there are preset zoom levels) and redraw the annotation regions. I found this approach non-trivial but not overly complicated.
Canvas Zoom is MIT licensed, so you can do what you like with it.
Good luck with your project.

display a calendar function on lots of different websites

first of all, please excuse my ignorance, this is an exploratory question, rather than a specific programming program that needs solving.
I have a number of clients that have unique websites, none of which I was involved in developing. I would like them to be able to display a calendar of common events, but which would also contain events unique to them.
Is it possible using something like Server Side Includes to be able to give them a few lines of code which they could insert into their website (on any particular page) which might display a calendar type display, which their users can then interact with?
I guess I am looking for something similar to a Google calendar but I do not want to use a Google calendar. The key thing would be that they would only need to insert the few lines of code on one of their webpages; they wouldn't have to install any software on their servers.
Any suggestions?
Thanks
Damien
There are are all sorts of web calendars that will allow you to include them on a web page (typically using javascript, not SSI). Some are targeted at specific platforms (ie, Wordpress) and some are more generic.
Try searching "web calendar widget" for examples.
You'd have to put some amount of content on their site. If you can do that, you can include some javascript that will load more javascript from the server side that can do the bulk of the calendaring work for you.
You wouldn't be able to just drop a few files on the server and have them work, you'd need some way to link to them by changing the existing content on at least one of the pages.
I may be misunderstanding your question though.
If you are looking for specific recommendations on web calendar widgets, Arshaw's fullcalendar is my favorite to date.
It displays a great calendar that can be easily styled with css or jquery ui themeroller and is very programmable. The website has great documentation and examples as well.
Per using it on different sites, it supports that easily.
Note, I'm not affiliated with that calendar at all, just a satisfied customer.

Silverlight Vector US Map

I'm relatively new to silverlight and want to start building a data visualization tool that shows an interactive map of the US and allows me to essentially put a heat map on top along w/ varying points of interest dynamically added.
I'm sure there are commercial tools I could buy that would do all this but I'd like to build it from scratch (or semi-scratch) so I can figure out how to do it on my own.
Can someone maybe point me in the right direction in terms of building the map, putting the heat map up and placing points of interest based on latitude and longitude?
Thanks!
You should look at the Bing Maps Silverlight Control. I used it here for a demo.

Resources