Importing geospatial data into mongodb - mongodb

I have found a source for geo data that represents a country, and its constituents. I am building a service where I would like to have a user select a country and then based on that country select an area they would like results from. I am trying to download the data and import it into MongoDB but I am unsure which file format is best to download, and what tools I will need to convert the data to import it. The file options are ESRI file geodatabase, Shapefile, R file, Google Earth (.kmz), Geopackage, and ESRI personal geodatabase. Which one do I choose and what tools do I need for the next step? Is this even the correct approach to having the collection of countries and their states/territories?
Here is the open source data
gadm.org

MongoDB uses a subset of the GeoJSON format for its geo-spatial data. I would look at which formats are closest to that. A quick web-search turned up this tool for converting kml files to GeoJSON.

Related

How to clip the specific area from OSM in Postgresql

I uploaded OSM network to my server. Now, I'm working directly in Postgres (using dBeaver), and the file format is OSM format.
The imported file has a lot of areas outside of Montreal Island. This makes a lot of extra data and slowing the process. For example running the inner join takes like 2 hours.
Also, when I open the OSM file in JOSM, it has a lot of extra information that I don't need it.
Do you know is there any query to limit and clip the data only to the Montreal Island in dBeaver?
I know I can do this in ArcGIS but I prefer working on OSM data directly. Mainly because bringing shapefile to Postgres is tricky and breaking the original file. I prefer to work directly on the original file and not importing it form somewhere else.

Convert OpenStreetMap POI Data to CSV

I am looking to extract some Point of Interest (POI) data from OpenStreetMap in a tabular format. I have used this link navigated to the relevant country and downloaded the file,
http://download.geofabrik.de/
What I get is a file with the .osm.pbf extension. However, I think it is possible to download the files in other formats like .shp.zip and .osm.bz2. Is there some way that I can convert this data into a tabular format like a CSV file?
I came across a tool called Osmosis which can be used to manipulate data in these formats, but I am not sure if it can be used for this purpose,
https://wiki.openstreetmap.org/wiki/Osmosis
I was able to successfully install in on my Windows machine though.
To be frank, I am not even sure if this gives me what I want.
In essence, what I am looking for is Sri Lankan POI data that contains the following attributes,
https://data.humdata.org/dataset/hotosm_lka_points_of_interest
If the conversion of this file does not give me data in this format, then I am open to other approaches as well? What is the best way to go about acquiring this data?

How to convert nominatim file to osm file pbf?

I have a backup file from postgresql of nominatim. Now I want to convert that backup file into OSM's PBF file, is it possible? If yes give me some suggestions on the conversion . Thanks a lot
I don't think so. Nominatim doesn't store raw OSM data in a database. During import it removes all information that isn't necessary for geocoding and transforms data in such a way that typical geocoding tasks can run efficiently. It is not possible to convert the results back into the original OSM PBF.

Extract data from open street map databases

Open street map has different downloadable data like .osm.pbf and .osm.bz
How can I extract data from open street map databases? for instance I want to extract all banks in a country, administration area, ...
Is there any desktop application that can help me to open/edit/export street map databases
One option would be to set up an Overpass API server (or if your query volume is low to just use one of the public instances).
Or you could use osm2pgsql to import all data into a PostGIS database, and then use SQL to perform your queries.
Or last not least you could process the raw osm data in a streaming fashion, without having to set up a database at all, using the Osmium/pyOsmium libraries ...
https://wiki.openstreetmap.org/wiki/Overpass_API
https://osm2pgsql.org/
https://osmcode.org/osmium-tool/

Importing and exporting KML into and from DashDB for Geospatial Analysis

I am a recent convert to IBM's DashDB, and I considering proposing to use it at my work. My case would greatly be bolstered if I could show good, easy integration for geospatial analytics data, namely loading and performing SQL filtering on geodata currently in .shp or .kml formats. If it would be possible to also export the filtered data into a KML as a result that would be AMAZING.
So, to give a practical example, say I have an .SHP file with all the zipcodes in the US, I want to select the shape for the 02138 zip code and send it to the query-sender in KML format.
Does anyone have experience with that?
Loading .kml file directly to dashDB is currently not possible, as answered by another post here. You may use ArcGIS for Desktop to connect to dashDB if you want to do this.
https://gis.stackexchange.com/questions/141194/importing-and-exporting-kml-into-and-from-dashdb-for-geospatial-analysis
On the other hand, uploading a .shp file is natively supported and is demonstrated in this tutorial below. Note that dashDB requires the upload file to be compressed in .zip, .tar or .gz file formats.
https://www-01.ibm.com/support/knowledgecenter/SS6NHC/com.ibm.swg.im.dashdb.doc/tutorial/analyze-geospatial-data.html
Also, ArcGIS for Desktop should let you use its export features as well.
There are 2 options loading shape files: via the gui ("Load geospatial data") or via the CLPPlus command IDA LOADGEOSPATIALDATA .
Once the data is loaded it resides in the internal geometry format (e.g. as ST_Polygon), and can then be accessed in various formats through spatial functions imbedded in SQL calls. Unfortunately, kml is not one of the formats that dashDB supports as of now - options are GML, WKT, WKB.