Tag Info

Hot answers tagged

8

It sounds like you have a few different things you need to do: Geocode your user locations (e.g. from an address / postal code) Store the locations/attributes somewhere Render them on a map You can choose to do some or all of this using open source or other alternatives. If it were me, I would probably use some of Google's mapping stack (disclaimer, I ...


7

In ArcMap, If you look up Search in Polygon in ArcMap, you'll find this: "Select By Location to select those features from the points layer that intersect the polygon layer" That's found by "Selection>Select by Location" on the menu bar and it will ask for a Target layer then a Source layer and a selection method. So the Target layer is your point layer, ...


5

Fusion Table basic example Spatial Query set in the code: layer.setQuery("SELECT Country FROM 188044 WHERE ST_INTERSECTS(Country, RECTANGLE(LATLNG(35.77, -12.57), LATLNG(66.6, 37.3)))"); Source: http://homepage.ntlworld.com/keir.clarke/web/fusion2.htm from: http://googlemapsmania.blogspot.com/2010/11/spatial-queries-added-to-fusion-tables.html


4

In your crime incident table you are going to need some information that connects to your neighborhood. Your neighborhood polygon doesn't contain all the addresses within it so your best bet would be to either A) get some street, parcel or building data that contains addresses that match your list or B) open up your crime table and add a column for ...


3

check out this example here which uses arcgis service time geoprocessing service and google maps. if your points locate in US, u can use CreateDriveTimePolygons from ESRI here. you need to do is that write Input Location, Drive Times and format as json then execute your process. beside this you should check out similar ques.: Creating drive time ...


3

Yes. You are correct. Currently the functionality to zoom/fit bounds does not exist for polygon or line data from fusion tables. You will need to use the GVIZ (Google Visualization API) and the geoxml3 parser. I used some of the code from the following applications. One is a polygon example and the other is a line/arc example. There is a post in the Google ...


3

You might want to re-think the overall approach. Displaying that many symbols is usually not a good idea, for performance and useability reasons (the labels would either over-print each other, or be so small as to be unreadable). Perhaps only show numbers when zoomed in to a certain scale (eg street level). You could also implement clustering to show ...


3

Unfortunately none of the google api's support this query beyond simple rectangles or circles. Your options are to pre-process using QGIS or the OGR API. Or you can implement the ray casting algorithm in JavaScript. Also - check out the source of this example: http://www.geocodezip.com/v3_collection-map2e_FT.html If you implement the algorithm yourself ...


3

You say that you have a spatial representation of the neigborhoods but the crime data is just addresses. there is to ways to connect the crimes to the neighborhoods. get a list of all addresses in the neighborhoods and join against that list. that is a non spatial solution. or you need to get some spatial representation of the crimeinformation. if you ...


2

You can make a custom tiled layer that makes direct requests for FusionTables tiles, though you'll need to play with the URL to figure out what X/Y/Z parameters are in the URL, and you'll need to check the T&C to make sure you're not breaking them. I had it figured out a couple months back, but I honestly cannot remember what X/Y represent. Z is the ...


2

I like jilivni answer the most (so far). I have yet to mess about with Fusion, and seems like a good choice for your needs. However, you mention a LAMP, stack, so storing the data in MySQL could be a good option. Check this tutorial on how to use PHP to show MySQL data (your table of users/locations) on top of Google Maps. In terms of gathering the ...


2

You can get your all your table data and find the bounds from the response: var bounds = new google.maps.LatLngBounds(); for(i = 0; i < numRows; i++) { var point = new google.maps.LatLng( parseFloat(response.getDataTable().getValue(i, 0)), parseFloat(response.getDataTable().getValue(i, 1))); bounds.extend(point); ...


2

You have to export your table to csv Maybe use google refine to improve the data of your articles csv Import csv in a Fusion Table Geocode the table, its a feature in the user interface, you Geocode by the column "Article text" where the addresses are Click on the map view, and you could view the points, some of them will be missing because of an ...


2

For this many features, you will want to render them into raster tiles. My recommendation would be to evaluate products that serve up Web maps like MapServer, GeoServer, Mapnick, etc. MapServer has C# bindings, but you could likely just use the standard WMS or CGI interface. Depending on your specific use case, you could look at caching with something ...


2

As GeoSpatialpython.com mentioned, javascript based ray-casting is a good choice. Here is a script from tparkin : https://github.com/tparkin/Google-Maps-Point-in-Polygon/blob/master/maps.google.polygon.containsLatLng.js It extends the google maps api v3 polygon class with a new method called containsLatLng which accepts a single LatLng object, which ...


2

If you don't mind a 3rd party app, you could try Arc2Earth Sync It will connect to Fusion Tables on your account's behalf and make it look like an ArcGIS Feature service. It can also use your ArcGIS.com credentials to create/update web maps so your FT tables show up automatically in the ArcGIS iOS/Android apps (or any of the ArcGIS Online apps/apis). Check ...


2

What you describe is finding the best route along a network which has each segment assigned an impedance representing risk of accident. For this you could use a license for the Network Analyst extension to ArcGIS for Desktop. A good place to start reading about this topic is here. Having the route based on your assigned impedances solved using Google ...


1

Here is some code I'm successfully using to toggle a Fusion Tables layer in one of my maps: google.maps.event.addListener(map, 'zoom_changed', function() { zoomLevel = map.getZoom(); if (zoomLevel >= minFTZoomLevel) { FTlayer.setMap(map); } else { FTlayer.setMap(null); } }); it looks almost identical to your code, apart ...


1

Check out this example: https://developers.google.com/fusiontables/docs/samples/custom_markers It shows you how to query a Fusion Table and create a marker for each row of data. You could modify the createMarker() function to give the marker a different icon depending on a certain criteria/column value that you pass to it. e.g var createMarker = ...


1

If you have geospacial data, I've had a lot of success exporting a kml from SHP and GeoJSON with QGIS and uploading that. If your comfortable with the command line the python CSV and JSON libraries are both very good and easy to use to convert JSON -> python dictionary -> CSV. Though that isn't going to work if you have geospatial data.


1

You cannot import JSON data at this time (Jan. 2013). JSO data is schema-less and can be arbitrarily nested, and the fusion-table installer does not support this at this time. Maybe kml is possible. This is a robust way to import: Use the open-source infusion.jar file to bulk-load fusion tables with CSV data. Install Java if you don't have it. (By the way, ...


1

I have very bad experiences using dynamically generated fusion tables to display large multipolygons on Google Maps. The FusionTablesLayer just can't keep up with dynamically created fusion tables, it needs some time to cache the corresponding tiles. I strongly advise to use the KmlLayer feature of Google Maps if you are updating/creating your KMLs ...


1

I recommend using Map to KML in ArcMap 10. Labeling the features is not straightforward--although, there is a good discussion here. Begin by creating the map overlay you would like in ArcMap, including colored outlines, opacity, etc. Run Feature to Point Turn on the labels in your new point layer Save the map as a .mxd Run Map to KML (Define the output ...


1

Recent updates to Google Maps v3 allow you to change the symbol using the API (from fusion tables) For example 'gold star' var goldStar = { path: 'M 125,5 155,90 245,90 175,145 200,230 125,180 50,230 75,145 5,90 95,90 z', fillColor: "yellow", fillOpacity: 0.8, scale: 1, strokeColor: "gold", strokeWeight: 14 }; var marker = new ...


1

I don't see a method for doing this in the Google Maps API v3 reference, and that lack appears to be confirmed by this comment from a Google employee: https://groups.google.com/d/msg/google-maps-js-api-v3/ovT1ekQ-HGQ/k-b8BSxCCjAJ FusionTablesLayer (and KmlLayer & co) don't have the ability to re-order based on z-index. There is an active feature ...


1

You can wrap the Fusion Table in the Open GeoServices REST api and make it look like a native AGS MapServer or FeatureServer. That's pretty much what Arc2Earth Sync will do for you automatically for your Fusion Tables or Earth Builder layers (in addition to synchronizing with a local FGDB) The FT table you described above has an ID of 1236296 AGS ...


1

I've found this. https://sites.google.com/site/wildcardstestsite/home Check out the xml file which in this case is used in a blog as a module. use the html and javascript of this file and you have a working example of 2 layers on and off capabilities. Also I need to point out that only 5 fusion tables layers can be uses due to google limitations. I have ...


1

This seems to work - it doesn't seem to be a problem to call setMap if it's already set: google.maps.event.addListener(map, 'zoom_changed', function() { zoomLevel = map.getZoom(); if (zoomLevel >= minZoomLevel) { FTlayer.setMap(map); } else { FTlayer.setMap(null); } }); Thanks to Chris Broadfoot from the GM team for ...


1

Add a spatial search to your code: FUSION TABLES allows ST_INTERSECT to be performed full reference: http://code.google.com/apis/fusiontables/docs/developers_reference.html#Select (see <spatial_condition> ) // OPTIONAL: find the new map bounds, and run a spatial query to return // Fusion Tables results within those bounds. sw = ...


1

In order to upload csv to FusionTables, you'll need to make sure you authenticate first. I see you've included the dependencies for OAuth, but if you're just trying to have a script do a simple upload, it'd be easiest to use ClientLogin (and you don't need the dependencies). A skeleton of the code should look something like this (adapted from the sample ...



Only top voted, non community-wiki answers of a minimum length are eligible