I have very little experience in GIS. I am working on a project were I need to put around 120 coordinate points on a web map using openlayers 3. There are also attributes associated with these points. I added the points from a csv into arcGis. I turned them into a shapefile. I also have a web map with a satellite image of the area. It works and opens in a browser.Now what do I do? Can someone point me in the right direction. Thank you
The shapefile can be converted into a GeoJSON (e.g. with an online service or QGIS. The GeoJSON can then directly be consumed by OpenLayers:
map.addLayer(new ol.layer.Vector({
source: new ol.source.Vector({
format: new ol.format.GeoJSON(),
url: 'path/to/your.geojson'
});
});
You need to upload your shapefile on a server in order to publish it on your map via web protocols like Web Map Service (WMS) or Web Features Service (WFS).
Take a look at the OpenGeo Suite, it should get you started. You can install GeoServer locally to develop and test your application, and then migrate it all on your web server.
Another option would be to use QGIS GeoExplorer to directly have a working interface with differents options.
Related
I have a project in which I need the map without the names of the streets and without labels of some (or none) of the neighborhoods, areas, etc. How to get this OSM presentation in Openlayers 4? PS: I accessed Snazzy and got a mapless map setup easily, but from what I saw, the code is for the Google API, only, is that it? I want the OSM. Thankful.
Wikimedia Labs runs a tile server with no labels: http://tiles.wmflabs.org/osm/slippymap2.html (check "OSM no-labels" from the layer list).
Make sure to check their terms of use.
Is it possible to overlay an Esri Feature service onto a Google Map using the Google Maps API?
I am using feature services hosted on ArcGIS Online. Keep in mind these are feature services, not tiled map services.
From all that I've gathered, Google Maps only appears to only support tiled map rest services. Is this correct? Has anyone had success overlaying feature services?
If you've made it this far I'll give you a little background. Our systems developer has produced numerous applications using the Google Maps API, so it would be a burden at this point to rewrite everything in OpenLayers, ESRI API, Leaflet, etc. He wants to be able to consume our ArcGIS Online mapping services, which we store as features, aka. WFS. We really do not want to go the route of having to upkeep additional versions (tiles, KML, geoJSON, etc) of the same layers. I've been experimenting with on-the-fly Esri JSON to GeoJSON conversions, but I haven't had success. I'm about ready to call it and rebuild everything with the Esri API, but I figured I'd ask first. Our staff is really in love with Google Maps so it's going to be a hard sell.
Thanks
Yes, it's possible with ArcGIS Server Link for Google Maps JavaScript API V3
https://github.com/googlemaps/v3-utility-library/tree/master/arcgislink
You can retrieve both geometries and attributes from AGS through the REST API, using the Feature Class.
Alternatively, you can implement a Geometry Service on the server side and access it through GeometryService Class.
Check arcgislink documentation:
https://htmlpreview.github.io/?https://github.com/googlemaps/v3-utility-library/blob/master/arcgislink/docs/reference.html
It is viable, but it may have performance issue.
You can make a call to the feature service endpoint and get all the features back as JSON response. As Esri GeoJSON is different from the common one, you need to translate the JSON response to the standard GeoJSON format, and then add to the feature collection in google maps Data Layer and apply styles.
This works if you have simple datasets. However if it is complex large polygon datasets, it will be causing network traffic when making the call. Also Google maps data layer always have performance issue when dealing with large dataset.
I recommend to use dojo/esri js API to develop the app if the data is hosted with ArcGIS server. It just doesn't make sense to buy both licenses for visualization.
Another option is to enable your ArcGIS online data to serve WMS layer too. Through that way your developer can use google maps overlay layer to overlay tiles from ArcGIS online. You can also make standard XMl request to the WMS service to get feature information.
Ok. You can convert to GeoJSON, but you're right, there's some big performance issues.
I found the easiest solution to the problem was to rewrite all our Google Maps API using ESRI Leaflet.
https://esri.github.io/esri-leaflet/
Leaflet is much easier to implement than the standard ESRI API. Didn't take long to rewrite and have the same functionality.
I have a web application where I want to show the car patrolling on the Geo map. Is it possible to integrate QGIS map for web application.
You can export the QGIS map in kml and then load the kml maps in google maps I think this is the simplest way.
For QGIS you can export your layer in KML with right click on the layer, then save as format Keyhole markup language.
For import KML in google maps you can see this google developer sample
https://developers.google.com/maps/documentation/javascript/examples/layer-kml
There are many ways to achieve this. The simplest is to use the plugin qgis2leaf. There are many howtos and videos about it, one of them is Leaflet Web Maps with qgis
EDIT: In answer to a comment, to install qgis2leaf, as here:
Go to menu Plugins ‣ Manage and Install Plugin
Search for "qgis2leaf" (if it is not on list, try to enable Show also experimental plugins on the Settings tab)
Select "qgis2leaf" and then... INSTALL!
Hi I have developed a website using google maps.My map will display the markers based on the kml files data which is on my server.Now I want to change the maps to Arcgis Online .Can I display the same kml files data with the Arcgis online maps ?
My kml files data will be changed accordingly.The total website is depends upon the kml files.
please suggest me whether I can change from google maps to Arcgis online.
Note:I dont have much idea on java and .net so Can I make an attempt to Arcgis online maps
As long as your KML is accessible to the web application user, you can display it using the ArcGIS API for JavaScript. Use the KMLLayer class. Note that this class requires a connection to ArcGIS Online, which converts the KML.
anyone can suggest what program / approach I should use?
I need to have a map like google map where I can display map, add marker polygon etc.
But I cannot rely on such online services as client is afraid that such service die off and there goes our system...
Have a look at lots of resources pointed in answers to these questions on GIS.SE:
GIS for the web
Steps to Start Web Mapping
You might want to look at Google Fusion Tables, or solutions like MapBox or CartoDB for quick, hosted solutions.
Willing to invest more time (and depending on your skills and language preferences) you could delve into PostGIS & GeoServer / Mapserver with a frontend of OpenLayers / Leaflet (or any other libraries). OSGeo-Live DVD might come handy for a quick and dirty review of most of these options.
Here are pure open source based web map and geo-location database resources. Google map or Bing map is wonderful, but they require business contract for commercial use. It is said that Foursquare recently switched their map tool from Google map to open source based Leaflet API which looks like the picture below. This map tools is quite great and recommendable.
web API for map : http://leafletjs.com/
Good place to start. Two resources below are not really used for developers, cause those are already included in leaflet javascript API.
Map style : http://cloudmade.com/
Map data : http://www.openstreetmap.org/
Geo location based on ip address : http://dev.maxmind.com/geoip/geolite
Can download free ip address & city mapping file, which can be used for custom mapping code.
I recommend http://mapserver.org/
You can create map files into you server...and you can connect to open source databases like PostGIS