Difference between revisions of "Geonode data upload"

From stgo
Jump to: navigation, search
(File upload size limits)
(File upload size limits)
Line 11: Line 11:
  
 
One 400MB shapefile, Uso de Suelo Aysen from MMA (with db = 750MB), I could not upload to GeoNode. Instead I copied it to the Geonode1204b VM and imported it there using:  
 
One 400MB shapefile, Uso de Suelo Aysen from MMA (with db = 750MB), I could not upload to GeoNode. Instead I copied it to the Geonode1204b VM and imported it there using:  
:<code>sudo geonode importlayers /home/myuser/xxx/</code>
+
:<code>sudo geonode importlayers /home/myuser/xxx/</code> (see GeoNode [http://geonode.readthedocs.org/en/latest/tutorials/admin/commands.html documentation])
 
Before I actually changed the shapefile name to avoid latin characters.  
 
Before I actually changed the shapefile name to avoid latin characters.  
 
Afterwards I used "geonode updatelayers --ignore-errors --skip-geonode-registered"
 
Afterwards I used "geonode updatelayers --ignore-errors --skip-geonode-registered"

Revision as of 17:44, 18 June 2015

>> return to Cedeus IDE


Problems I discovered when Uploading Data to GeoNode

File upload size limits

It may happen that the file to be uploaded to GeoNode hits the current size limit of 100 MB.

Its possible to change the size limit in /etc/geonode/local_settings.py with the entry MAX_DOCUMENT_SIZE = 500 # MB. Afterwards, restart Apache. However, its best to apply this larger limit only temporarily.

One 400MB shapefile, Uso de Suelo Aysen from MMA (with db = 750MB), I could not upload to GeoNode. Instead I copied it to the Geonode1204b VM and imported it there using:

sudo geonode importlayers /home/myuser/xxx/ (see GeoNode documentation)

Before I actually changed the shapefile name to avoid latin characters. Afterwards I used "geonode updatelayers --ignore-errors --skip-geonode-registered"

Spanish characters

Problem: Sometimes, after upload names of attributes or attribute values are not correctly represented, i.e. Categor�A

Solution: This is an encoding problem. Before hitting the upload button in geonode, select the file encoding. In most cases it encoding is Latin 1.

Transformation error

Problem: The shapefile upload fails with an error. In particular I get:

java.lang.RuntimeException: java.io.IOException: transform error

and also (looking /usr/share/geoserver/data/logs/geoserver.log) I got:

Caused by: java.io.IOException: transform error
       at org.geoserver.catalog.CatalogBuilder.getLatLonBounds(CatalogBuilder.java:525)
       at org.geoserver.catalog.CatalogBuilder.doSetupBounds(CatalogBuilder.java:466)
       at org.geoserver.catalog.CatalogBuilder.setupBounds(CatalogBuilder.java:450)
       at org.geoserver.catalog.rest.DataStoreFileResource.handlePut(DataStoreFileResource.java:405)
       ... 88 more
Caused by: org.geotools.referencing.operation.projection.ProjectionException: Transformation doesn't convergence.
       at org.geotools.referencing.operation.projection.MapProjection.inv_mlfn(MapProjection.java:1385)
       at org.geotools.referencing.operation.projection.TransverseMercator.inverseTransformNormalized(TransverseMercator.java:217)

Reason: In some cases, there may be points/geometries with coordinates at 0/0 that cannot be transformed.

Solution: The problem is that there seems to be a misfit with the projection. Remember:

  • Chile's Easter Island is far off, so UTM 19S is perhaps not so good working as it is not in zone 19

To solve this issue I re-saved the shapefile as WGS84 (epsg 4326) in geographic coordinates (and also I used UTF-8 character encoding, just to make sure). This new shapefile I was able to load in GeoNode 2.0

"quantize with one INF" Error

Exception: ('Failed to process accidentesgs2013_epsg4326', InvalidOperation('quantize with one INF',))

this error seems to occur when no bounds can be calculated after upload by GeoServer. Means, I got an infinite sign in one of the bound text boxes. When I recalculated or set the Lat/Lon bound manually it was ok then (at least for the accidentesgs2013 layer) .

To get the layer into GeoNode I used geonode updatelayers.