Geo Service wfs : How call by range? - geoserver

I'm using the API WFS from the French Government to get geographical data. This API use OGC. (https://geoservices.ign.fr/documentation/donnees-ressources-wfs.html)
"IRIS2000" is an acronym which stood for "Islands Grouped for Statistical Information" and which referred to the target size of 2,000 inhabitants per elementary mesh. It is the basic building block for the dissemination of infra-municipal data.
I would like to get all Iris2000 data, but the API deliver 1000 objects maximum by request.
They are 49404 differents Iris2000 and I don't find the range parameter.
Could you help me please ?

WFS is a public international standard, check the specification at http://docs.opengeospatial.org/is/09-025r2/09-025r2.html.
I believe you are looking for paged request support, that is, the startIndex and count parameters: http://docs.opengeospatial.org/is/09-025r2/09-025r2.html#50

Related

Is there a way to get train lines that connect to a given Place of type 'train_station' [duplicate]

I've seen that you can retrieve nearby subway stations for a location using the Google Maps Places API, as explained here:
Google Maps: Retrieve nearby subway station's latitude and longtitude?
But in addition to that data, I would also like to retrieve the subway lines available at that station. Is this possible?
Currently the Places API doesn't expose this information for transit stations. There is a feature request in Google issue tracker to make it possible to retrieve lines numbers for each stop. You can find this feature request at
https://issuetracker.google.com/issues/35827961
Please feel free to star this feature request to express your interest and subscribe to further notifications from Google.

How do I find the current temperature of a city with NCDC API v2?

I'm a beginner with APIs but I feel this one is still a bit more vast and complex.
I want to find the air temperature of Boston. Or really, output any useful weather data.
Using this URL in JSON I can find the location of Boston:
http://www.ncdc.noaa.gov/cdo-web/api/v2/locations/CITY:US250002
Response:
{"mindate":"1885-01-01","maxdate":"2015-07-25","name":"Boston, MA US","datacoverage":1,"id":"CITY:US250002"}
Using this I can find the data category of "Air Temperature":
http://www.ncdc.noaa.gov/cdo-web/api/v2/datacategories/TEMP
Response:
{"name":"Air Temperature","id":"TEMP"}
This gives me no helpful information, so here is my effort to combine the two:
http://www.ncdc.noaa.gov/cdo-web/api/v2/datacategories/TEMP?locationid=CITY:US250002 (Air Temperature in Boston)
Response:
{"name":"Air Temperature","id":"TEMP"}
Normally when I enter an API all the information is there and available to filter via parameters. Here it seems the data is all divided. It will show you all the locations, all the data sets, all the categories that exist in the API, but how do I see the actual meat of the data? Ex. Current water temperature of Chicago, IL? Air Temperature on 3/14/2014 in Los Angeles, CA?
Here's my jsfiddle I'm using:
http://jsfiddle.net/f98dauaz/1/
You need to use a different endpoint, that endpoint I believe is just used for locations if you are looking for a location and data on that location itself.
You would need to pull from the data endpoint instead of the location endpoint, which you can find info on here http://www.ncdc.noaa.gov/cdo-web/webservices/v2#data
an example would be:
http://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCND&datatypeid=TMAX&datatypeid=TMIN&locationid=ZIP:(zip_code_here)&limit=(your_data_limit_for_file)&startdate=(YYYY-MM-DD)&enddate=(YYYY-MM-DD)
Note this is for historical data not for current data

Bing Maps API inconsistently fails on certain postal code lookups

I have an application using Bing Maps API to retrieve coordinates for a postal code and then I perform spatial queries based on the result. There are times where I get empty results, but when I wait a few minutes it succeeds. I added logic that retried a handful of times if there's a failure but that doesn't seem to be helping. Here's the empty result I get back:
{"authenticationResultCode":"ValidCredentials","brandLogoUri":"http://dev.virtualearth.net/Branding/logo_powered_by.png","copyright":"Copyright © 2014 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.","resourceSets":[{"estimatedTotal":0,"resources":[]}],"statusCode":200,"statusDescription":"OK","traceId":"7a6bfca3f89b4f94a4693a410da4feb7|CH10043840|02.00.107.2300|CH1SCH050102529"}
And here's the URL I'm calling:
http://dev.virtualearth.net/REST/v1/Locations?q=50613&o=json&key=MyApiKey
Is there a way I can retrieve further information based on the traceId? Or is this something that's just accepted when using Bing Maps API?
You should firstly check the number of requests you're doing in a specific time and put it in relation with the type of Bing Maps Key you're using. Basic keys are rate limited which means that if you exceed the allowed number of request in a specific duration, you will be blocked.
Bing Maps Trial and basic key and rate limitation information
Those types of key are rate limited for security and logicial reasons (on 24h period and with time between the request) and that's the reason why you're getting a blank response without any information regarding the fact that it failed to geocode.
See the Terms of Use regarding the limitations and other restrictions (load and stress tests as well as hammering are part of it): http://www.microsoft.com/maps/product/terms.html
So, in order to try to analyze where your problem comes from, you might:
Check the type of key you're using and how many calls you're making on a specific period
Check the header of the response, it should include a specific header value: X-MS-BM-WS-INFO set to 1 if you are rate limited
See the MSDN about error handling: http://msdn.microsoft.com/en-us/library/ff701703.aspx
If you're not in this case (if you have an enterprise account), reach the technical support so they can officialy get back to you and check the key.

Exhaustive Search on Google Places

I'm trying to use Google Places API for a business locator app, but am having trouble creating an exhaustive database of business.
1.The API call only returns 20 results back.
2.The "type" restriction (e.g. type=restaurant) does not pick up all businesses by type in a given zip. I could use "keyword" but not all restaurants have restaurant in their name, and not all spas have "spa" in their name.
3. Each call produces the same set of results from day to day, and with only 20 returns per call, how am I to get a more exhaustive database of businesses?
I can try to get around the above three constraints by looping through a very well degraded search of businesses: say by zip code, some list of keywords, category type. But I still won't get close to picking up the 50 million or so businesses in google places.
In fact, even when I make a call for restaurants and bars in my own neighborhood, I don't pick up popular places down the block from me.
How is the API usable for an app that locates places then?
Any suggestions on how to create a more exhaustive search?
Thanks,
Nad
I'm not able to answer your question regarding Google Places API.
But for your requirements ('business locator app', 'I don't pick up popular places down the block from me') I suggest you try Yelp Search API:
Yelp's API program enables you to access trusted Yelp information in real time, such as business listing info, overall business ratings and review counts, deals and recent review excerpts.
Yelp is a popular review website with a capable API and you may test the quality of database and the devoted user base they have at Yelp homepage.
Note:
They keep some data for themselves and do not return everything in response.
The (free) dev account has a limit of 100 calls per 24 hours.
I know I'm late but maybe it helps someone these days.
By default, each Nearby Search or Text Search returns up to 20
establishment results per query; however, each search can return as
many as 60 results, split across three pages.
You need to use the field nextPageToken that you will receive on the first search to get the next page.
https://developers.google.com/places/web-service/search
An issue in stack overflow says:
There is no way to get more than 60 results in Places API. Some people
tried to file a feature request in Google issue tracker, but Google
rejected it with the following comment Unfortunately Places API is not
in a position to return more than 60 results. Besides technical
reasons (latency, among others) returning more than 60 results would
make the API be more like a database or general-purpose search engine.
We'd rather improve search quality so that users don't need to go so
far down a long list of results.
google places api more than 60 results
I faced the same difficulties that you did and decided to use the Yelp API instead. It is free, very complete and returns up to 1000 results. You should however check the terms of service before doing anything. It does not provide the website of the business (only the Yelp website link).
https://www.yelp.com/developers/documentation/v3/business_search
Other options I investigated at that time:
Foursquare ventures. (It was very expensive, and only returned up to around 100 results)
Here places API
Factual Places (I don't think this one is an API)
Sygic Travel API (Specific for touristical spots)
Planet.osm (OpenStreetMap)

Get all addresses for specific place/company

What I'm trying to do is collect all addresses for list of companies and trying to get it with Google Map Api.
For example when I search for "Burger King" at maps.google.com I recieve 600k+ results:
20 pages of detailed results I can use
Way more "pointers" on map - but they come with images as part of map data - so can't parse it.
There is new Google Places API - I'm not sure if it fit my requirements - I need to specify coordiantes+radius there so I can't get data for whole US or World.
My question is - if there any way to get that kind of data with Google API or are there any other reliable sources?
Thanks!

Resources