Add geographical coordinates on the Map onf the Mapping Module

Hi,

I would like to register on the map, the exact geographical coordinates of items.

I tried 2 different ways :

  1. through the csv import with the skos field : hascloseMatch : including in own column Lat & Long thanks to separator for multivalue. ==> data have been well imported but the geographical location has not been automatically done. It seems, my format did not allow Omeka-S from understanding I wanted the Lat&Long being automatically imported on the map.

  2. manual method : in the map, it seems Ican only add an address and not Lat&Long ?

Many thanks in advance if you can help me on this new issue.
Emilie

If you have Mapping module enabled, you should have option for importing coordinates in CSV import under Resource location menu. There should be three options, for lat,lon coordinate pairs and importing lat and lon from separate CSV columns. Coordinates should be formatted as WGS84 decimal degrees.

Hi,
thanks for your reply.
yes, I went on Resource location menu and choosed latitude/Longitude, as i have the 2 coordinates in the same field skos:closeMatch. I precised via the batch edit options, I had 2 separate values .

All data are well imported including the coordinates under that format : 37.329954 ; 14.697361.
The thing is that those coordinates are not reported on the map.
This is what I do not understand. Is it possible that the choice of my vocab : skos: close match is not correct ?
I am already using the field dc coverage to put a link via an external URI.

It is likely that your coordinates are not in the correct format. AFAIK chosen vocabulary should not make a difference. You can use file available here to check if there is something wrong with your import file: https://gist.github.com/mjlassila/1a258a9a109f30f06b17e5d1998f11e9
It should work as I tested it using my dev installation.

My file is the same as the one on Github.
I split my skos:closeMatch column so that I have a column lat and a column long but this time, no item has been added.
Here is the error message :

2019-05-21T12:32:36+00:00 ERR (3): exception ‘Omeka\Api\Exception\ValidationException’ in /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php:563 Errors: { “o-module-mapping:lat”: [ “A marker must have a numeric latitude.” ] } Stack trace: #0 /var/www/html/modules/Mapping/Module.php(321): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Mapping\Entity\MappingMarker), Object(Omeka\Stdlib\ErrorStore)) #1 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Mapping\Module->handleMarkers(Object(Zend\EventManager\Event)) #2 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(171): Zend\EventManager\EventManager->triggerListeners(Object(Zend\EventManager\Event)) #3 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(552): Zend\EventManager\EventManager->triggerEvent(Object(Zend\EventManager\Event)) #4 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(274): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Omeka\Entity\Item), Object(Omeka\Stdlib\ErrorStore)) #5 /var/www/html/application/src/Api/Manager.php(224): Omeka\Api\Adapter\AbstractEntityAdapter->create(Object(Omeka\Api\Request)) #6 /var/www/html/application/src/Api/Manager.php(78): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #7 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(317): Omeka\Api\Manager->create(‘items’, Array, Array, Array) #8 /var/www/html/application/src/Api/Manager.php(227): Omeka\Api\Adapter\AbstractEntityAdapter->batchCreate(Object(Omeka\Api\Request)) #9 /var/www/html/application/src/Api/Manager.php(97): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #10 /var/www/html/modules/CSVImport/src/Job/Import.php(352): Omeka\Api\Manager->batchCreate(‘items’, Array, Array, Array) #11 /var/www/html/modules/CSVImport/src/Job/Import.php(255): CSVImport\Job\Import->create(Array) #12 /var/www/html/modules/CSVImport/src/Job/Import.php(196): CSVImport\Job\Import->processBatchData(Array) #13 /var/www/html/application/src/Job/DispatchStrategy/Synchronous.php(34): CSVImport\Job\Import->perform() #14 /var/www/html/application/src/Job/Dispatcher.php(105): Omeka\Job\DispatchStrategy\Synchronous->send(Object(Omeka\Entity\Job)) #15 /var/www/html/application/data/scripts/perform-job.php(43): Omeka\Job\Dispatcher->send(Object(Omeka\Entity\Job), Object(Omeka\Job\DispatchStrategy\Synchronous)) #16 {main} 2019-05-21T12:32:36+00:00 ERR (3): exception ‘Omeka\Api\Exception\ValidationException’ in /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php:563 Errors: { “o-module-mapping:lat”: [ “A marker must have a numeric latitude.” ] } Stack trace: #0 /var/www/html/modules/Mapping/Module.php(321): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Mapping\Entity\MappingMarker), Object(Omeka\Stdlib\ErrorStore)) #1 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Mapping\Module->handleMarkers(Object(Zend\EventManager\Event)) #2 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(171): Zend\EventManager\EventManager->triggerListeners(Object(Zend\EventManager\Event)) #3 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(552): Zend\EventManager\EventManager->triggerEvent(Object(Zend\EventManager\Event)) #4 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(274): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Omeka\Entity\Item), Object(Omeka\Stdlib\ErrorStore)) #5 /var/www/html/application/src/Api/Manager.php(224): Omeka\Api\Adapter\AbstractEntityAdapter->create(Object(Omeka\Api\Request)) #6 /var/www/html/application/src/Api/Manager.php(78): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #7 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(317): Omeka\Api\Manager->create(‘items’, Array, Array, Array) #8 /var/www/html/application/src/Api/Manager.php(227): Omeka\Api\Adapter\AbstractEntityAdapter->batchCreate(Object(Omeka\Api\Request)) #9 /var/www/html/application/src/Api/Manager.php(97): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #10 /var/www/html/modules/CSVImport/src/Job/Import.php(352): Omeka\Api\Manager->batchCreate(‘items’, Array, Array, Array) #11 /var/www/html/modules/CSVImport/src/Job/Import.php(255): CSVImport\Job\Import->create(Array) #12 /var/www/html/modules/CSVImport/src/Job/Import.php(196): CSVImport\Job\Import->processBatchData(Array) #13 /var/www/html/application/src/Job/DispatchStrategy/Synchronous.php(34): CSVImport\Job\Import->perform() #14 /var/www/html/application/src/Job/Dispatcher.php(105): Omeka\Job\DispatchStrategy\Synchronous->send(Object(Omeka\Entity\Job)) #15 /var/www/html/application/data/scripts/perform-job.php(43): Omeka\Job\Dispatcher->send(Object(Omeka\Entity\Job), Object(Omeka\Job\DispatchStrategy\Synchronous)) #16 {main} 2019-05-21T12:32:36+00:00 ERR (3): exception ‘Omeka\Api\Exception\ValidationException’ in /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php:563 Errors: { “o-module-mapping:lat”: [ “A marker must have a numeric latitude.” ] } Stack trace: #0 /var/www/html/modules/Mapping/Module.php(321): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Mapping\Entity\MappingMarker), Object(Omeka\Stdlib\ErrorStore)) #1 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Mapping\Module->handleMarkers(Object(Zend\EventManager\Event)) #2 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(171): Zend\EventManager\EventManager->triggerListeners(Object(Zend\EventManager\Event)) #3 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(552): Zend\EventManager\EventManager->triggerEvent(Object(Zend\EventManager\Event)) #4 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(274): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Omeka\Entity\Item), Object(Omeka\Stdlib\ErrorStore)) #5 /var/www/html/application/src/Api/Manager.php(224): Omeka\Api\Adapter\AbstractEntityAdapter->create(Object(Omeka\Api\Request)) #6 /var/www/html/application/src/Api/Manager.php(78): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #7 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(317): Omeka\Api\Manager->create(‘items’, Array, Array, Array) #8 /var/www/html/application/src/Api/Manager.php(227): Omeka\Api\Adapter\AbstractEntityAdapter->batchCreate(Object(Omeka\Api\Request)) #9 /var/www/html/application/src/Api/Manager.php(97): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #10 /var/www/html/modules/CSVImport/src/Job/Import.php(352): Omeka\Api\Manager->batchCreate(‘items’, Array, Array, Array) #11 /var/www/html/modules/CSVImport/src/Job/Import.php(255): CSVImport\Job\Import->create(Array) #12 /var/www/html/modules/CSVImport/src/Job/Import.php(196): CSVImport\Job\Import->processBatchData(Array) #13 /var/www/html/application/src/Job/DispatchStrategy/Synchronous.php(34): CSVImport\Job\Import->perform() #14 /var/www/html/application/src/Job/Dispatcher.php(105): Omeka\Job\DispatchStrategy\Synchronous->send(Object(Omeka\Entity\Job)) #15 /var/www/html/application/data/scripts/perform-job.php(43): Omeka\Job\Dispatcher->send(Object(Omeka\Entity\Job), Object(Omeka\Job\DispatchStrategy\Synchronous)) #16 {main} 2019-05-21T12:32:36+00:00 ERR (3): exception ‘Omeka\Api\Exception\ValidationException’ in /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php:563 Errors: { “o-module-mapping:lat”: [ “A marker must have a numeric latitude.” ] } Stack trace: #0 /var/www/html/modules/Mapping/Module.php(321): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Mapping\Entity\MappingMarker), Object(Omeka\Stdlib\ErrorStore)) #1 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Mapping\Module->handleMarkers(Object(Zend\EventManager\Event)) #2 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(171): Zend\EventManager\EventManager->triggerListeners(Object(Zend\EventManager\Event)) #3 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(552): Zend\EventManager\EventManager->triggerEvent(Object(Zend\EventManager\Event)) #4 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(274): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Omeka\Entity\Item), Object(Omeka\Stdlib\ErrorStore)) #5 /var/www/html/application/src/Api/Manager.php(224): Omeka\Api\Adapter\AbstractEntityAdapter->create(Object(Omeka\Api\Request)) #6 /var/www/html/application/src/Api/Manager.php(78): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #7 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(317): Omeka\Api\Manager->create(‘items’, Array, Array, Array) #8 /var/www/html/application/src/Api/Manager.php(227): Omeka\Api\Adapter\AbstractEntityAdapter->batchCreate(Object(Omeka\Api\Request)) #9 /var/www/html/application/src/Api/Manager.php(97): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #10 /var/www/html/modules/CSVImport/src/Job/Import.php(352): Omeka\Api\Manager->batchCreate(‘items’, Array, Array, Array) #11 /var/www/html/modules/CSVImport/src/Job/Import.php(255): CSVImport\Job\Import->create(Array) #12 /var/www/html/modules/CSVImport/src/Job/Import.php(196): CSVImport\Job\Import->processBatchData(Array) #13 /var/www/html/application/src/Job/DispatchStrategy/Synchronous.php(34): CSVImport\Job\Import->perform() #14 /var/www/html/application/src/Job/Dispatcher.php(105): Omeka\Job\DispatchStrategy\Synchronous->send(Object(Omeka\Entity\Job)) #15 /var/www/html/application/data/scripts/perform-job.php(43): Omeka\Job\Dispatcher->send(Object(Omeka\Entity\Job), Object(Omeka\Job\DispatchStrategy\Synchronous)) #16 {main} 2019-05-21T12:32:36+00:00 ERR (3): exception ‘Omeka\Api\Exception\ValidationException’ in /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php:563 Errors: { “o-module-mapping:lat”: [ “A marker must have a numeric latitude.” ], “o-module-mapping:lng”: [ “A marker must have a numeric longitude.” ] } Stack trace: #0 /var/www/html/modules/Mapping/Module.php(321): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Mapping\Entity\MappingMarker), Object(Omeka\Stdlib\ErrorStore)) #1 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Mapping\Module->handleMarkers(Object(Zend\EventManager\Event)) #2 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(171): Zend\EventManager\EventManager->triggerListeners(Object(Zend\EventManager\Event)) #3 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(552): Zend\EventManager\EventManager->triggerEvent(Object(Zend\EventManager\Event)) #4 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(274): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Omeka\Entity\Item), Object(Omeka\Stdlib\ErrorStore)) #5 /var/www/html/application/src/Api/Manager.php(224): Omeka\Api\Adapter\AbstractEntityAdapter->create(Object(Omeka\Api\Request)) #6 /var/www/html/application/src/Api/Manager.php(78): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #7 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(317): Omeka\Api\Manager->create(‘items’, Array, Array, Array) #8 /var/www/html/application/src/Api/Manager.php(227): Omeka\Api\Adapter\AbstractEntityAdapter->batchCreate(Object(Omeka\Api\Request)) #9 /var/www/html/application/src/Api/Manager.php(97): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #10 /var/www/html/modules/CSVImport/src/Job/Import.php(352): Omeka\Api\Manager->batchCreate(‘items’, Array, Array, Array) #11 /var/www/html/modules/CSVImport/src/Job/Import.php(255): CSVImport\Job\Import->create(Array) #12 /var/www/html/modules/CSVImport/src/Job/Import.php(196): CSVImport\Job\Import->processBatchData(Array) #13 /var/www/html/application/src/Job/DispatchStrategy/Synchronous.php(34): CSVImport\Job\Import->perform() #14 /var/www/html/application/src/Job/Dispatcher.php(105): Omeka\Job\DispatchStrategy\Synchronous->send(Object(Omeka\Entity\Job)) #15 /var/www/html/application/data/scripts/perform-job.php(43): Omeka\Job\Dispatcher->send(Object(Omeka\Entity\Job), Object(Omeka\Job\DispatchStrategy\Synchronous)) #16 {main} 2019-05-21T12:32:36+00:00 ERR (3): exception ‘Omeka\Api\Exception\ValidationException’ in /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php:563 Errors: { “o-module-mapping:lat”: [ “A marker must have a numeric latitude.” ] } Stack trace: #0 /var/www/html/modules/Mapping/Module.php(321): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Mapping\Entity\MappingMarker), Object(Omeka\Stdlib\ErrorStore)) #1 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Mapping\Module->handleMarkers(Object(Zend\EventManager\Event)) #2 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(171): Zend\EventManager\EventManager->triggerListeners(Object(Zend\EventManager\Event)) #3 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(552): Zend\EventManager\EventManager->triggerEvent(Object(Zend\EventManager\Event)) #4 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(274): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Omeka\Entity\Item), Object(Omeka\Stdlib\ErrorStore)) #5 /var/www/html/application/src/Api/Manager.php(224): Omeka\Api\Adapter\AbstractEntityAdapter->create(Object(Omeka\Api\Request)) #6 /var/www/html/application/src/Api/Manager.php(78): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #7 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(317): Omeka\Api\Manager->create(‘items’, Array, Array, Array) #8 /var/www/html/application/src/Api/Manager.php(227): Omeka\Api\Adapter\AbstractEntityAdapter->batchCreate(Object(Omeka\Api\Request)) #9 /var/www/html/application/src/Api/Manager.php(97): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #10 /var/www/html/modules/CSVImport/src/Job/Import.php(352): Omeka\Api\Manager->batchCreate(‘items’, Array, Array, Array) #11 /var/www/html/modules/CSVImport/src/Job/Import.php(255): CSVImport\Job\Import->create(Array) #12 /var/www/html/modules/CSVImport/src/Job/Import.php(196): CSVImport\Job\Import->processBatchData(Array) #13 /var/www/html/application/src/Job/DispatchStrategy/Synchronous.php(34): CSVImport\Job\Import->perform() #14 /var/www/html/application/src/Job/Dispatcher.php(105): Omeka\Job\DispatchStrategy\Synchronous->send(Object(Omeka\Entity\Job)) #15 /var/www/html/application/data/scripts/perform-job.php(43): Omeka\Job\Dispatcher->send(Object(Omeka\Entity\Job), Object(Omeka\Job\DispatchStrategy\Synchronous)) #16 {main} 2019-05-21T12:32:36+00:00 ERR (3): exception ‘Omeka\Api\Exception\ValidationException’ in /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php:563 Errors: { “o-module-mapping:lat”: [ “A marker must have a numeric latitude.” ] } Stack trace: #0 /var/www/html/modules/Mapping/Module.php(321): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Mapping\Entity\MappingMarker), Object(Omeka\Stdlib\ErrorStore)) #1 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Mapping\Module->handleMarkers(Object(Zend\EventManager\Event)) #2 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(171): Zend\EventManager\EventManager->triggerListeners(Object(Zend\EventManager\Event)) #3 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(552): Zend\EventManager\EventManager->triggerEvent(Object(Zend\EventManager\Event)) #4 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(274): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Omeka\Entity\Item), Object(Omeka\Stdlib\ErrorStore)) #5 /var/www/html/application/src/Api/Manager.php(224): Omeka\Api\Adapter\AbstractEntityAdapter->create(Object(Omeka\Api\Request)) #6 /var/www/html/application/src/Api/Manager.php(78): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #7 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(317): Omeka\Api\Manager->create(‘items’, Array, Array, Array) #8 /var/www/html/application/src/Api/Manager.php(227): Omeka\Api\Adapter\AbstractEntityAdapter->batchCreate(Object(Omeka\Api\Request)) #9 /var/www/html/application/src/Api/Manager.php(97): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #10 /var/www/html/modules/CSVImport/src/Job/Import.php(352): Omeka\Api\Manager->batchCreate(‘items’, Array, Array, Array) #11 /var/www/html/modules/CSVImport/src/Job/Import.php(255): CSVImport\Job\Import->create(Array) #12 /var/www/html/modules/CSVImport/src/Job/Import.php(196): CSVImport\Job\Import->processBatchData(Array) #13 /var/www/html/application/src/Job/DispatchStrategy/Synchronous.php(34): CSVImport\Job\Import->perform() #14 /var/www/html/application/src/Job/Dispatcher.php(105): Omeka\Job\DispatchStrategy\Synchronous->send(Object(Omeka\Entity\Job)) #15 /var/www/html/application/data/scripts/perform-job.php(43): Omeka\Job\Dispatcher->send(Object(Omeka\Entity\Job), Object(Omeka\Job\DispatchStrategy\Synchronous)) #16 {main} 2019-05-21T12:32:36+00:00 ERR (3): exception ‘Omeka\Api\Exception\ValidationException’ in /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php:563 Errors: { “o-module-mapping:lat”: [ “A marker must have a numeric latitude.” ] } Stack trace: #0 /var/www/html/modules/Mapping/Module.php(321): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Mapping\Entity\MappingMarker), Object(Omeka\Stdlib\ErrorStore)) #1 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Mapping\Module->handleMarkers(Object(Zend\EventManager\Event)) #2 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(171): Zend\EventManager\EventManager->triggerListeners(Object(Zend\EventManager\Event)) #3 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(552): Zend\EventManager\EventManager->triggerEvent(Object(Zend\EventManager\Event)) #4 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(274): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Omeka\Entity\Item), Object(Omeka\Stdlib\ErrorStore)) #5 /var/www/html/application/src/Api/Manager.php(224): Omeka\Api\Adapter\AbstractEntityAdapter->create(Object(Omeka\Api\Request)) #6 /var/www/html/application/src/Api/Manager.php(78): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #7 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(317): Omeka\Api\Manager->create(‘items’, Array, Array, Array) #8 /var/www/html/application/src/Api/Manager.php(227): Omeka\Api\Adapter\AbstractEntityAdapter->batchCreate(Object(Omeka\Api\Request)) #9 /var/www/html/application/src/Api/Manager.php(97): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #10 /var/www/html/modules/CSVImport/src/Job/Import.php(352): Omeka\Api\Manager->batchCreate(‘items’, Array, Array, Array) #11 /var/www/html/modules/CSVImport/src/Job/Import.php(255): CSVImport\Job\Import->create(Array) #12 /var/www/html/modules/CSVImport/src/Job/Import.php(196): CSVImport\Job\Import->processBatchData(Array) #13 /var/www/html/application/src/Job/DispatchStrategy/Synchronous.php(34): CSVImport\Job\Import->perform() #14 /var/www/html/application/src/Job/Dispatcher.php(105): Omeka\Job\DispatchStrategy\Synchronous->send(Object(Omeka\Entity\Job)) #15 /var/www/html/application/data/scripts/perform-job.php(43): Omeka\Job\Dispatcher->send(Object(Omeka\Entity\Job), Object(Omeka\Job\DispatchStrategy\Synchronous)) #16 {main} 2019-05-21T12:32:36+00:00 ERR (3): exception ‘Omeka\Api\Exception\ValidationException’ in /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php:563 Errors: { “o-module-mapping:lat”: [ “A marker must have a numeric latitude.” ] } Stack trace: #0 /var/www/html/modules/Mapping/Module.php(321): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Mapping\Entity\MappingMarker), Object(Omeka\Stdlib\ErrorStore)) #1 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Mapping\Module->handleMarkers(Object(Zend\EventManager\Event)) #2 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(171): Zend\EventManager\EventManager->triggerListeners(Object(Zend\EventManager\Event)) #3 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(552): Zend\EventManager\EventManager->triggerEvent(Object(Zend\EventManager\Event)) #4 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(274): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Omeka\Entity\Item), Object(Omeka\Stdlib\ErrorStore)) #5 /var/www/html/application/src/Api/Manager.php(224): Omeka\Api\Adapter\AbstractEntityAdapter->create(Object(Omeka\Api\Request)) #6 /var/www/html/application/src/Api/Manager.php(78): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #7 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(317): Omeka\Api\Manager->create(‘items’, Array, Array, Array) #8 /var/www/html/application/src/Api/Manager.php(227): Omeka\Api\Adapter\AbstractEntityAdapter->batchCreate(Object(Omeka\Api\Request)) #9 /var/www/html/application/src/Api/Manager.php(97): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #10 /var/www/html/modules/CSVImport/src/Job/Import.php(352): Omeka\Api\Manager->batchCreate(‘items’, Array, Array, Array) #11 /var/www/html/modules/CSVImport/src/Job/Import.php(255): CSVImport\Job\Import->create(Array) #12 /var/www/html/modules/CSVImport/src/Job/Import.php(196): CSVImport\Job\Import->processBatchData(Array) #13 /var/www/html/application/src/Job/DispatchStrategy/Synchronous.php(34): CSVImport\Job\Import->perform() #14 /var/www/html/application/src/Job/Dispatcher.php(105): Omeka\Job\DispatchStrategy\Synchronous->send(Object(Omeka\Entity\Job)) #15 /var/www/html/application/data/scripts/perform-job.php(43): Omeka\Job\Dispatcher->send(Object(Omeka\Entity\Job), Object(Omeka\Job\DispatchStrategy\Synchronous)) #16 {main} 2019-05-21T12:32:36+00:00 ERR (3): exception ‘Omeka\Api\Exception\ValidationException’ in /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php:563 Errors: { “o-module-mapping:lat”: [ “A marker must have a numeric latitude.” ] } Stack trace: #0 /var/www/html/modules/Mapping/Module.php(321): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Mapping\Entity\MappingMarker), Object(Omeka\Stdlib\ErrorStore)) #1 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Mapping\Module->handleMarkers(Object(Zend\EventManager\Event)) #2 /var/www/html/vendor/zendframework/zend-eventmanager/src/EventManager.php(171): Zend\EventManager\EventManager->triggerListeners(Object(Zend\EventManager\Event)) #3 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(552): Zend\EventManager\EventManager->triggerEvent(Object(Zend\EventManager\Event)) #4 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(274): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Omeka\Entity\Item), Object(Omeka\Stdlib\ErrorStore)) #5 /var/www/html/application/src/Api/Manager.php(224): Omeka\Api\Adapter\AbstractEntityAdapter->create(Object(Omeka\Api\Request)) #6 /var/www/html/application/src/Api/Manager.php(78): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #7 /var/www/html/application/src/Api/Adapter/AbstractEntityAdapter.php(317): Omeka\Api\Manager->create(‘items’, Array, Array, Array) #8 /var/www/html/application/src/Api/Manager.php(227): Omeka\Api\Adapter\AbstractEntityAdapter->batchCreate(Object(Omeka\Api\Request)) #9 /var/www/html/application/src/Api/Manager.php(97): Omeka\Api\Manager->execute(Object(Omeka\Api\Request)) #10 /var/www/html/modules/CSVImport/src/Job/Import.php(352): Omeka\Api\Manager->batchCreate(‘items’, Array, Array, Array) #11 /var/www/html/modules/CSVImport/src/Job/Import.php(255): CSVImport\Job\Import->create(Array) #12 /var/www/html/modules/CSVImport/src/Job/Import.php(196): CSVImport\Job\Import->processBatchData(Array) #13 /var/www/html/application/src/Job/DispatchStrategy/Synchronous.php(34): CSVImport\Job\Import->perform() #14 /var/www/html/application/src/Job/Dispatcher.php(105): Omeka\Job\DispatchStrategy\Synchronous->send(Object(Omeka\Entity\Job)) #15 /var/www/html/application/data/scripts/perform-job.php(43): Omeka\Job\Dispatcher->send(Object(Omeka\Entity\Job), Object(Omeka\Job\DispatchStrategy\Synchronous))

Can you help me translating this message to understand where did I go wrong ?
Thanks again,
Emilie

Looking the error message, input validation fails because the value is not numeric (A marker must have a numeric latitude.). It is likely that you have whitespace or some other erroneus characters in your coordinate information and therefore Omeka is interpreting latitude as string and not as a numeric value.

Did you get this sorted out?

Hi,

i dit not reply yet because I have not been able to solve the issue.
I have been advised to use the import mode “maj” to import lat/long.
It seems I missed something in the functioning of the mapping module as the import of data does not automatically imply the automatic geographical localisation by the plugin.
I was told to import data and then to display in the leaflet library used by the mapping plugin.

I am going to test those advises to sort this out.
I will let You know how I manage this.
Thanks for Your interest.

Where is the resource location field that you mention here?

I also could not find the location field mentioned and spent a while before realizing what was happening, so maybe this will help someone.

It seems the Bulk Import module that can be found here (https://github.com/Daniel-KM/Omeka-S-module-BulkImport) does not allow to put location data in the fields used by the Mapping module. It allows mapping our location to other fields in our vocabularies that match the notion of location, but are not the mapping module so will not place anything on a map. (Unless you code it yourself as is mentioned higher up.)

There is a CSV import module available here (https://github.com/omeka-s-modules/CSVImport) which is the one described in the Omeka S documentation (https://omeka.org/s/docs/user-manual/modules/csvimport/), and does offer the possibility to send our data in the proper fields for the mapping to work. I haven’t tested this yet, but i suspect others might have gotten confused between the two modules like i did.

I created a pull request to update the documentation with a link to the module on github.

1 Like

This topic was automatically closed 250 days after the last reply. New replies are no longer allowed.