ArcGIS Javascript API: Adding a shapefile with more than 1000 points - gis

I am able to add shapefiles with less than 1000 points by using the ArcGIS Portal REST API as shown in this example:
https://developers.arcgis.com/javascript/jssamples/portal_addshapefile.html
However, there is a 1000 point maxRecordCount through their service. I have tried setting the maxRecordCount in the publishParameters without any luck. I also thought it may be possible to publish our own service with a raised maxRecordCount, but I am not very experienced in publishing custom scripts and did not know whether there was a toolbox that already provided this functionality.
So my question is, is there a way to use the ArcGIS Portal REST API to return more than 1000 records? If not, what would be the best approach to solve this problem?
Thank you!

When a feature service is published to ArcGIS for Server or ArcGIS Online, the user specifies the Maximum number of records returned by the server. So, if you are consuming a layer provided by ESRI, and they maxed it at 1000, I do not think there is any way for you to legitimately return >1000 records.
It is very simple to publish a layer to ArcGIS for Server or ArcGIS Online yourself (if you have a server w/ the application, or an ArcGIS Online account). Publishing your own services gives you the ability to control maximum returns.

Related

Migrating cordova app from Google Maps to OSM

I need some directions. My mobile app is heavily dependent on Google Maps for the the following components: maps, geocoding/geolocation, autocomplete, distanceMatrix and directionsMatrix. However, I am running into quota issues and they are getting worse and worse. I need an as reliable solution but without the quotas and am considering OSM. I have my own api unix server I can install OSM too but I am having a hard time finding a complete install package.
Everything I read is separate packages to install and configure for each of the components I need to migrate to. Is there not a comprehensive OSM package that has all of the components built into it? I keep thinking there should be a single package that is all integrated to work together but I can't find one.
If one exists please point me in the right direction. If one doesn't can you please recommend the best, and easiest to use, OSM packages that meet my listed of required components? Thanks in advance.
OSM consists of several components. First there is the map data which can be seen as raw data, no software involved. Depending on your goals you will likely need a database software, which is usually postgresql. For drawing a map you will need a renderer, for address searching a geocoder, for directions a routing software and so on.
Showing a map: Use one of the available tile providers or render your own tiles
Geocoding: Take a look at Nominatim or Photon. Photon is based on Nomatim and adds some features, most importantly autocompletion. There are other search engines available as well.
Routing: GraphHopper or OSRM. More alternatives available, check the list of OSM online routers.
Similarly to tile servers, most of these softwares can be either run by yourself or accessed via various online providers. Online providers usually have quotas whereas running your own software is solely limited by your own resources.

Referrer limit per google-maps api key

We are providing websites/CMS solutions for more than 2500 customers. Almost all websites have google-map module. So since google changed its map usage policy, from one day to another all those webs had an error on their map modules. We need to come up with some quick (and dirty) solution. We decided to use multiple api-keys, and devide domains between them - alphabetic. And we registered all those 2500+ domains under these keys - manually. One by one.
The solution worked until last week. Now we somehow reached some kind of limit, as we cannot register any new domains/referrers under one of those api-keys. The actual count of domains/referrer of this given api-key: 1537. The saving process yields an error with tracking code (which is every time I try different).
Is there really some kind of limit? Does anyone experienced the same problems. Does some time-economic solution exists?
Thanks for any help or suggestions. Peace!
There is indeed a limit of (at time of writing) about 1,000 referer restrictions per API key. You can create about 100 keys per project, so you can authenticate 100,000 domains with a single project. To proceed further, you can create multiple projects (note that multiple projects can be combined under the same billing account, so you would still receive a single bill).
As a short term fix, you can temporarily remove all restrictions on the key, so that apps relying on that key are functional again. Then you can take the time to release a new key sharding pattern that follows these guidelines.
I just created a feature request so that the situation can be improved, for this use case ("star" it, to be notified of updates).
Google has recently released an alpha version of API that allows manage API keys programmatically.
The best way to handle thousands of authorized domains is to use an API to programmatically manage your API Keys and their restrictions, and we have recently launched a new service that allows you to do this.
This API is still in Alpha. If you are interested in becoming a Trusted Tester for this service, you can use the following form to sign up, please read the instructions carefully:
https://forms.gle/qx2SMcarWCAsbWVp7
Please note that this API is not part of the Google Maps Platform. After you fill out the form, you will be contacted by the API Keys API team with instructions on how to get started, and how to receive support.
API Keys API is currently free of charge. However, please note that use of Cloud Endpoints may be subject to charges at high traffic volume. You can check the pricing sheet here:
https://cloud.google.com/endpoints/pricing-and-quotas
source: https://issuetracker.google.com/issues/35829646#comment12
Hope this helps!

I want to know if the GraphHopper is free to use a company internally?

I need to develop an internal application where the user of a source and up to 8 destinations, the best route is drawn on the map and show the distance in km. So based on that mileage the system calculates how much it would cost.
I implemented this using the Google Maps API, but the application was limited to company then we would have to adiquirir a license.
I want to know if the GraphHopper is free to use a company internally.
The GraphHopper routing engine is Open Source under the permissive Apache License and is therefor free to use for anything. You could even integrate it in your products, modify GraphHopper and sell this, without notice to us or contributing back. Although it is encouraged to contribute back so that your feature gets maintained for free by us. Also you can host GraphHopper on your own servers for 'free' and do whatever you want with it.
The GraphHopper Directions API that we host falls under our usage terms and always requires an API key. We decided to make it free for development purposes and Open Source projects, both with a limit of currently 500 queries per day. So, the free usage of the API in a company internally would not be allowed. But there are custom packages possible - see the current pricing here.

Integrating CRM with Google maps

Just started testing Zoho Crm as a CRM solution for our company. Someone asked for a Google map on the page showing our upcoming engagements.I know Zoho provides an API that allows accessing its data from the outside, but I actually need to integrate the map on the data-entry form.If anyone could provide a pointer to any mashup with Zoho CRM (be it Google MAps, Bing Maps, or any similar web service), I would be extremely grateful.
I know this is an ancient question, but since there's no answers and this is pretty much all that came up on google when searching for Zoho CRM integration with Google Maps I'll take a stab at this anyway. I recently got a similiar request, but in this case they wanted to display the leads on a page outside of Zoho.
I created a Java servlet and JSP that runs on Google App Engine. The servlet will connect to Zoho CRM to retrieve all leads and geocode the addresses they are registered with. The client-side Javascript is then taking care of creating the markers on the map for all the addresses.
It's a bit too much code to paste here (although not that much), but you can check it out at http://code.google.com/p/zohomap/.
I put the demo up at http://zohomap.appspot.com/.
I know this is an old question, but it came up on Google Search. About three years ago, I start a similar Google Maps integration project for SugarCRM. The JJWDesign Google Maps project is up on GitHub.com. The idea came about during a marketing meeting and quickly grew out of control.
Download at:
https://github.com/jjwdesign/JJWDesign-Google-Maps
Here are some of the pitfalls that I've experienced:
Exceeding Limits of Geocoding: The Google Maps API v3 has in place a limit of 2,500 Geocoding requests per day. It is also throttled to 10 per second. So, you'll most likely need to develop something to queue these requests. I used a CRON/Scheduled Task to handle the processing trigger.
PHP Memory Limits: The design of SugarCRM creates rather large objects for each one of it's records. Using 10,000 of these objects will usually exceed the memory allowed for PHP to execute. So, special consideration may be needed in examining the best way to pull data into the map.
Always develop/test with a large data set; 10,000+ records. This way you'll be able to more easily see inefficiencies in your code; especially JavaScript. The IE Browser has been know to cause issues with MarkerClustering.
Get ready for an explosion of interest in advanced search / filtering functionality. Also, expect to develop a large section of Admin configuration. Everyone wants something slightly different.
Cheers,
Jeff

Creating custom Google (or OpenLayers?) maps

I'm currently working on a project which maps items to a physical location within a building. We have a map created in our GIS system (ArcGIS), and are able to resolve items to the appropriate shape ID on this map.
We want to create a web map using one of the APIs such as Google maps or Open Layers in order to display this info, directing the user to the correct location on the map, and ideally highlighting the particular location (for example using a shaded polygon), or at least identifying it with some sort of marker.
However we're very new to all of the online mapping APIs, and are finding it pretty overwhelming at the moment. All we really want is a flat map with our own custom imagery - we dont really care about geo-referencing, or projections etc.
Does anyone have any tips or info about how we might go about this? Even just general pointers would be helpful - it's hard to know where to look when there's so much info out there!
Cheers
If you are using ArcGIS Server, use ArcCatalog to expose your data as a WMS.
If you do not have an ArcGIS Server license, you can use MapServer or GeoServer to do the same (i.e expose as a WMS).
OpenLayers has support for adding WMS layers. See their examples section for sample code.
Cheers
OpenLayers can handle your own custom imagery maps without any problems.
You can check out this example:
http://openlayers.org/dev/examples/image-layer.html
And of course you need to read the API documentation
If you are using ArcGIS to creat eyour map, then use ArcGIS Server to serve up the maps online. Then use ArcGIS JavaScript API to build your web application. There are several out-of-the-box templates as well as easy-to-use examples for performing basic actions such as pan, zoom, select, highlight, redlining, etc.
Create your map service, then add your custom Map as a Dynamic Map Service or a Tiled Map Service (if you've cached it). Perform a Find (or Query if you have more than one feature you want to highlight). Add the Graphic from the FindResult to your GraphicsLayer.
Here's a more complete example.
You could also look at MapGuide OS and (if you don't have studio) Maestro. It is a server side application that will take in SHP files from Arc easily. The only downside IMO is that the built in search and reporting functionality is rather limited but can be extended via the API (C#, PHP and Java) that and it is rather centralized with a persistent process on the server (which can make debugging exceedingly fun).
The fusion/flexible (or whatever they heck they call it) layouts are based on the OpenLayers API but is still relatively new. And you can publish as a WMS or WFS I believe (I haven't done it personally).
If using ArcGIS Server, you can also expose your imagery and feature layers via a REST endpoint that can be consumed by OpenLayers. Check out James Fee's blog post on the topic.