Esri / arcgis-osm-editor

ArcGIS Editor for OpenStreetMap is a toolset for GIS users to access and contribute to OpenStreetMap through their Desktop or Server environment.
Apache License 2.0
395 stars 129 forks source link

OSM File Loader (Load only) tool fails to load data in an Enterprise Geodatabase - empty FCs created #162

Open mboeringa opened 7 years ago

mboeringa commented 7 years ago

Hi Thomas,

Admittedly, I have been a bit narrow in my current testing with the OSM File Loader (Load only) tool... Since File Geodatabases are such an easy and powerful way to store very large Feature Classes, I hadn't bothered testing against an Enterprise Geodatabase recently.

I now have, and noticed that despite an apparent successful run of the tool, the resulting feature classes were all empty / had no records. The target database was a Microsoft SQL Server Express 2012 instance.

Loading the same OSM XML file in a File Geodatabase was of course painless and resulted in proper feature classes with data. Using the "old" Load OSM File tool to attempt to load the data into the same Enterprise Geodatabase, also proved successful. It is just the OSM File Loader (Load only) tool that fails.

mboeringa commented 7 years ago

@ThomasEmge

I noticed a minor typo in the commit:

Shouldn't: +120201 - mulyiloader, needs unique feature class names be: +120201 - multiloader, needs unique feature class names

You seem to have accidentally replaced one typo with another looking at the commit ;)

ThomasEmge commented 7 years ago

Thanks for catching this.

mboeringa commented 7 years ago

@ThomasEmge ,

I now noticed a piece of Help text that is included with the Parallel Processing Factor environment setting on each geoprocessing tool that I overlooked up to now:

"When geoprocessing using a SQL Server Express database, you need to limit the number of parallel processes to two. SQL Server Express allows a maximum of three connections at a time. Each processing CPU requires a connection to the server. Also, the software running the tool, such as ArcGIS Desktop, counts as one connection process, leaving only two worker connection processes available for parallel processing."

I need to re-test loading in SQL Server Express. I can't remember how high I set the Parallel Processing Factor last time I tried, but likely to more than 2...

Anyway, if this is indeed the cause of the loading issue, a special "Note" supplement to the tool's Help, would be of use to circumvent the issue.

Even better, if it is possible to detect a SQL Server Express connection programmatically, giving out a blocking error message when running the tool and explaining that a parallel processing factor higher than two may not be set for SQL Server Express, would be better. This would prevent the issue altogether.

mboeringa commented 7 years ago

Hmm, re-testing is now impossible, as the code currently (official 10.5 version) warns for choosing a File Geodatabase as the only allowed output geodatabase type. This means an Enterprise Geodatabase can never be a valid input for storing the datasets directly, it is blocked.

If the issue above is relevant, then only ESRI can test it now by de-blocking the code.