Charting lib open or commerical - javascript

Anyone have advice on how to get a control to do something like this
http://screencast.com/t/VyHdxOdRJQwY
I will be plotting based on city or zip so i need to maintain some geo aspects but in the end the chart control needs to look like this guy.
Ideally no flash... but interested to see if anyone has hit something like this.
open or commercial source, im game

d3 seems to be a pretty good library for data visualization.
Check out the examples here: https://github.com/mbostock/d3/wiki/Gallery
Here's an implementation similar to what you are looking for. http://trends.truliablog.com/vis/metro-movers/

I suggest you check out the Google Maps API. There are two versions of the API:
Static Maps API V2 - from the docs:
The Google Static Maps API lets you embed a Google Maps image on your
web page without requiring JavaScript or any dynamic page loading. The
Google Static Map service creates your map based on URL parameters
sent through a standard HTTP request and returns the map as an image
you can display on your web page.
There are Usage Limits: The free version has a query limit of 1000 unique (different) image requests per viewer per day, if that will work for your situation. There is a licensed option above that with associated licensing fees.
Google Maps JavaScript API v3 - from the docs:
The Google Maps Javascript API lets you embed Google Maps in your own
web pages. Version 3 of this API is especially designed to be faster
and more applicable to mobile devices, as well as traditional desktop
browser applications. The API provides a number of utilities for
manipulating maps (just like on the http://maps.google.com web page)
and adding content to the map through a variety of services, allowing
you to create robust maps applications on your website.
There are similar usage limits for this version, also with a licensed option above the free version.
The API could easily create a map to match the one at your link. These aren't an exact match, but here are some examples from the Google Maps Demo Gallery:

We ended up using http://www.mapdotnet.com/ with background from open maps. Custom middle cache tiles from shape files stored in SQL, on top we have open street layer (or can use bing)

Related

Google Maps: Generate Web Embed codes with custom Markers and custom map stylings?

I'm using Google Maps Javascript API v3 to generate a very/heavily customised Map, in terms of Map Stylings and Markers. The Map is fully done and already put on the Website.
But when it comes to generating Embed Code portion, even after reading it's Embed API, as far as I understand, I can only generate the Embed code via iframe which basically doesn't allow me to render the Map with all the customizations I have done above. And it does not allow the custom markers as well.
Please advise how do I generate the HTML Embed Code for the Google Maps which would look exactly the same as fully customized Map put on the Website (with custom Markers and Stylings).
The embed API is much more limiting. I assume you're doing that to reduce costs as the JS API is now expensive. The customizations you talk about are currently not available in the embed API, sadly.
The custom icons are currently not available for Google Maps Embed API, however, if you don't need such interactions with your Google Maps such as panning and zooming and just want to show a place with a custom marker, then you may try using Static Maps API as this supports the use of custom markers. If your use case requires users panning and zooming of the map, then the next suggestion would be Maps Javascript API as this also supports the use of customer marker, however, this will require extra effort as this is not implemented via iframeunlike Embed API and Static Maps API. There are samples in the documentations provided as well.

What technology/strategy should I use to render big GeoJSON files within google maps

I'm currently working on a project to display enriched geographical data within an interactive map. For example, I have housing blocks with additional information added, and I want to display this data within an interactive map. I chose google maps, because I don't have any experience in building a map-based webservice and google seemed to be easy accessible and working.
The problem comes with the amount of information i have. A single town like Berlin has about 450.000 geometrys, which results in a GeoJSON file roughly 170MB big. I know, that this isn't anywhere near to working.
Do you guys can give me a hint on how to structure the project? What kind of technology can I use to dynamically query the needed data? Are there any libraries or working solutions that I should give a try?
How I solved this issue:
I used mapnik to pre-render the tiles and displayed them in google maps using getTileURL. I used this tutorial, which explains the basics on how to use mapnik for google map tiles.

Display address on map on my page

If I have an address string (New Jersey, Hoboken), what is the simplest way to display the address(simple address) on map in my page?(no preference for the source of the map).
If you are less familiar with how to setup a Google Maps embed on your website this site will help you generate the appropriate code:
http://www.trivoo.net/google-maps/
If you are more familiar with HTML/JS you could go the more involved route of using Google Maps JavaScript API found here.
https://developers.google.com/maps/documentation/javascript/
They have great documentation there on how to set it up.
The simplest way would be to use Google My Maps, you can enter an address and Google will generate some code you can embed on your page.

Use shapefile as a web map?

I am wondering if it's possible to use a shapefile with point features in arcmap as a web map?
I have seen examples, however most of them project the shapefile on top of a base layer map, for example, Google maps or ESRI maps. I am purely wanting to use the shapefile as a web map that supports zoom? Is this possible? If so, how would I go about achieving this?
The only method I can think of so far is to save the shapefile as a service to arcGIS for server...
Any guidance and help will be very helpful.
Thanks in advance.
You could start off by importing the shapefile into TileMill. Once you have styled the layer, you could export it as an MBTile and serve it with Mapbox.
I also found this description that you might find helpful.
http://blog.thematicmapping.org/2012/11/exploring-mapbox-stack-mbtiles-tilejson.html
Good Luck.
If there aren't too many points (more than a few hundred) then you probably want to generate GeoJSON from the shapefile and display the data that way.
You can convert your shapefile to geojson with the GDAL library.
ogr2ogr -f GeoJSON -t_srs crs:84 [name].geojson [name].shp
If there are more than a few hundred points, then I'd use #andrewGeo's strategy.
The easier thing to do would be to share the shapefile from a server like ArcGIS Server or GeoServer. GeoServer tends to be easier to share something simple, especially if you use the Boundless Geo (http://boundlessgeo.com/). That comes with GeoExplorer which can directly consume a shapefile from GeoServer.
Depending on the API you're using to generate the basemap, you can hardcode x/y information into it or consume a KML/KMZ. These tend to be tedious and not great if you're doing more than just viewing static data.
If you choose the server option, beware about hosting and consuming your data on the same server. You may run into Cross Domain issues and life becomes a little more complex then. I believe GeoExplorer automatically bypassed any issues I had with Cross Domain, but most of the other JavaScript APIs were a little more troublesome.
With the release of QGIS 3.8 there is new feature to generate raster MBTiles layers. Once the layer you want to convert is setup, you can open up the Toolbox by either selecting the gear icon or by going into the processing tab on the menu bar and selecting toolbox. Then in the Processing Toolbox, drill-down into the Raster Tools section. Within this section, select the Generate XYZ tile (MBTiles) option. Then you can serve it into mapbox (currently GeoServer does support serving MBTiles as well by installing the MBTiles extension)
Here is a reference to this with a straight forward and well-illustrated example on how to use this new QGIS feature.

How to embed or recreate a Google Analytics Graph in a custom CMS

I would like to know how to create a graph with Google Analytics (maybe using the api), but I'm unsure if there is already a plugin or tutorial on how to do this. The Javascript API reference at Google.com sucks.
Also any reference to how to create a line graph (canvas element?) would be great too.
Thanks!
I learned to use the Google Visualization API (the one used by analytics, and the one I believe you refer to) from the examples at https://developers.google.com/chart/interactive/docs and found it quite clear.
You can use examples of different graphs from the Gallery as well: http://code.google.com/apis/visualization/documentation/gallery.html
I created a service specifically for this purpose:
EmbeddedAnalytics
You define your chart type (line, bar, horizontal bar), metrics (pageviews, visits, etc), dimension (date, country,etc), and a time frame. Then you simply embed a snippet of code into your site where you want the chart to appear.
Google now has an article specifically on this topic.
https://developers.google.com/analytics/resources/articles/gdataAnalyticsCharts
Try this:
Google Analytics Easy Dashboard Javascript Library
An easy way to build a custom Google Analytics Dashboard on your own page.
http://analytics-api-samples.googlecode.com/svn/trunk/src/reporting/javascript/ez-ga-dash/docs/user-documentation.html#register
Demo: http://analytics-api-samples.googlecode.com/svn/trunk/src/reporting/javascript/ez-ga-dash/demos/set-demo.html
Here is step-by-step guide how to embed Google Analytics chart into a webpage as interactive widget: http://explainum.blogspot.com/2011/04/how-to-add-google-analytics-chart-to.html
EDIT (5/15/2012): The link above goes to a blog post on Explainum -- 3rd party web-service which allows creating embeddable charts from various data sources including (and most popular) Google Analytics.
Connection to GA is made using OAuth. You will need to know your GA profile ID in order to connect. Data is updated every 2-24 hours. The service is free.
DISCLAIMER: I'm one of Explainum's creators.

Categories