I have been interested in map reporting, so I wanted to create a map report with drill down functionality, so basically created two reports as follows:
a) Main report based on SQL Server Spatial data for showing US States wide sales
b) Drill down map report based on ESRI shapfile for showing US Counties sales for the selected state
I downloaded the US Counties ESRI shapefile.
Once I was done with the reports, I tested the map with drilldown functionality. I previewed the main report, hover the mouse over Texas and I don't see the counties for Texas state. I see only a map of the US with tiny dots.
So, I am not sure what I missed. I chose County Name column from the spatial data and also the county name from the analytical dataset. Is it the ESRI shapefile?
Please advise.
To my knowledge SSRS does not support 'hover over' features only an 'action' feature. The action can go to a hyperlink, go to a report, or go to a section. To do a drill down for a report, even if it is geographic you need to have a reference to something you can pass to something else. I recently did something similar to what you are asking though. You can make a 'subreport' that dynamically gets created from a geographic data type that represents states. What I did:
I downloaded a program that takes Census shape files and puts them into a SQL database:
http://www.sharpgis.net/page/sql-server-2008-spatial-tools.aspx
I got a shape file of the counties of the US from the Census.
I created a database called 'Spatial'
I created a table and inserted data into it from step 1's app called 'Counties'
I created a generic US map as my 'Main' report, using the geographic options for the US.
I created a subreport of a map type but chose the spatial data wizard. The options are not that important to get started but HOW you make the image. This report gets it's data from the 'geographic' column of the table I made so the query would be like this(ensure to have a datasource go to the Spatial Database):
Select StateName, Counties, geog(geographic type)
from UsCounties
where StateName = #State
The report when done looks like a blob, because it is created at run time, not statically. You can 'preview' it and pass in a state like 'OR' or 'WA' from a variable that should be created called 'State'. If it was not auto created you may do so and make it a 'Text' variable. It will display the state shape if it was set up correct.
You may go back to the report in step 5 and then go to the 'Polygon Properties' of the layer you created.
Select the 'Action' pane on the left. Choose 'Go to report', specify the sub report you created, the report will want a variable match for 'State' the generic US state has an 'Abbreviation' that corresponds to the state two digit code.
Now you should be able to run the main report and when you click anywhere in a state it will 'drillthrough' to a report that is created at runtime from the spatial database. This is vector based so it is fairly quick depending on your hardware hosting your machine and how much data you show.
Keep in mind that with SSRS it is hard to make it have some 3d features and hover over for some reason is completely ignored for objects but is relegated to only 'tooltips' which you can load up with functions to give text and numbers but not much more. There is a hack I wrote in another place of how you can use javascript to pop out a window, but under the hood you are really just doing a drill through presented differently.
Related
On my Main tab in my Anylogic model I have a GIS Map. In another tab (from one of my agent populations), I have a graph (created from a time measurement within this agent). Whenever I run the model, the graphs of those agents are shown within the GIS Map (the same way the agents are placed on the map), as can be seen in the figure below. However, I want the graph to be shown next to the GIS Map (like the pyCommunicator and other parts shown above the map). Whatever I try (I placed the graph outside/inside the frame in the agent's tab), it stays within the GIS Map when running. Does anybody know how to solve this problem?
Easier way is to create the graphs directly in the Main agent. For that, you should reference to the specific instance of the Terminal agent. For example terminals(0).end.distribution.
You also need to drag and drop Terminal agent into the Main.
I have a set of raster layers that cover the same place, over different years. I want to display it on my website using the timeslider so that I can clearly view the changes between rasters over different years. However, the example given by ESRI site is based on featurelayer, and I have a raster layer. How can I make the raster layer time-aware?
If you currently have multiple raster layers, you will need to convert them to a single layer that also happens to be time-aware.
Esri Support wrote a blog post about this -- back in 2011, but the principles should still work -- and a GIS StackExchange question covers publication of time-aware datasets as an image service. To summarize their workflow:
Create a new mosaic dataset or raster catalog. Add the individual rasters in.
Add a new field, of type date (e.g. year).
Populate year with values.
Enable time on the layer, and publish it as an image service.
The Esri JavaScript API example will help with implementation, once you've got everything configured and published.
I built out territories in MapPoint based on zip code grouping. Is there a way to export the long/lat of the territory boundaries? I know MapPoint knows the coordinates, but I can't find a way to export them.
If this capability is not available in MapPoint, is there another way/tool to get the boundary coordinates? I know of DrawingTool for Tableau, but that is manual drawing and there is no way to save and edit the map later.
In Tableau the Latitudes,Longitudes are auto generated for a geo dimension.
If you want to export the details you can follow below steps.
1: Right click on the view
2: Click on view data
3: Click on export all
4: save the exported file.
No MapPoint does not expose the boundary coordinates of any of the geographies (eg. zipcodes) in its database.
Territory export is also limited, as you've probably found. The API is even worse - you can't even query the individual component geographies (eg. which zipcodes make up each territory).
Might be overkill for you (being a full GIS), but Caliper's Maptitude 2016 has new territory functionality that is reminiscent of MapPoint's territories, but fixes the various problems that MapPoint had. It can also import territories from MapPoint PTM files.
I created Tableau Dashboard Actions.
If no action is taken, all data is displayed, i.e.
And when I click the appropriate data point, the appropriate data displays in other sheets of the Dashboard - except one.
How to troubleshoot when only one datapoint doesn't work?
When I toggle through filter, i.e. dropdown, all values show.
But when I create action to hover or select point in map, the problem persists with one data source.
I know it's not a filtering issue.
I recreated the flat source file, and the entire Tableau program, but the problem still persists.
What else can I troubleshoot?
Location 2 is very close to other locations, if that matters, but the locations nearby also work
And when I remove Location 2 from the flat-file and re-load tableau, all points work.
So I'm trying to figure out
If I use Locations drop down as a filter, all locations work, and only the relevant points are plotted on the map
If I create action for hovering over point in map, all points work except Location 2
I re-added one of the datapoints, even re-named the address but it's still not working.
I have a scenario where I have to highlight borders and shade a state or city after geocoding it (when I got the lang and lat).
How can I do this, do I need to have a complete information of a city to surround it with polylines? Or is there a way that map API can do this for me.
True. Google does not provide this feature. So what we can do... we can have the lat/long of the borders of the state. And we have to draw polygons ourselves.
I used this JS object. And changed it to Google map object (google.maps.LatLng).
For example:
var statesobj = {"AK": [new google.maps.LatLng(70.0187, -141.0205),
new google.maps.LatLng(70.1292, -141.7291),
new google.maps.LatLng(70.4515, -144.8163)]}
So, it's easy now. Loop on these lat/longs. And you can draw the polygons on every state of US.
So this is the solution I came up. If you guys know some better idea to do it. Please share.
You can also try Google Geo Charts:
http://code.google.com/apis/chart/interactive/docs/gallery/geochart.html
Google Maps API doesn't allow you to retrieve city borders. There are a couple other places from which you can get the coordinates, though:
Flickr API
There is a Flickr API based on photos that people tag, but it's only as accurate as the people who tag photos: so it's good enough for bootstrapping but probably not for production: http://karya-blog.blogspot.com/2012/12/fetching-city-polygons-with-flickr-api.html
Natural Earth Data
An accurate alternative is www.naturalearthdata.com. To get that data from there you just need to make two requests: one with the city name and one with their ID to get the parameters:
unlock.edina.ac.uk/ws/search?name=berlin&gazetteer=naturalearth&format=json
and then
unlock.edina.ac.uk/ws/footprintLookup?format=json&identifier=14126951
and you're set :)
Mapzen
If it's possible for you to pre-fetch the data, go for Mapzen, they have a full and pretty accurate database: https://mapzen.com/data/borders/
I'm afraid google maps API doesn't provide any means to access region (country, state, city, ...) shapes.
If you want to highlight regions you have to create custom overlays based on data acquired elsewhere.
Now the basic map example includes a "mashup" of data. When identifying data is fed to the web service, the resulting output can pinpoint locations on the map.
It shows how a geographic Map Marker is placed on the map to identify a specific location. Map Markers can use the default icon (shown) or a custom image, gauge, or even a chart. Optionally, the map can be configured to display a Map Marker Info window, containing additional location-specific data, when the marker is clicked.
It includes data-driven, colored regions (in this case, representing postal codes) overlaid a map of eg Washington, DC. Logi Info can work with GIS boundary data to produce region overlays for states, counties, cities, school districts, and other areas. Like the Map Marker, regions can be clicked to display a pop-up information window with detail data.