Thanks for you response.
I rephrase the question:
I have a web application where a user uploads a shapefile and this needs to
be inserted into a postgis table that has the same fields (in append mode).
Shapefile and table don't necessarily have the same name.
There is a manner to execute this task via rest api or  importer api?

Thanks

Giuseppe


Il giorno mer 11 mag 2022 alle ore 09:31 Jody Garnett <
jody.garn...@gmail.com> ha scritto:

> I tried using the importer user interface using a shapefile, and while I
> can adjust the name of the layer being created, the result still has the
> native name  unchanged.
>
> So I think you are looking change to the code, it would be a nice change
> allowing user to define the name of the table being imported.
> --
> Jody Garnett
>
>
> On May 10, 2022 at 12:14:37 AM, Giuseppe Falcone <
> falcone.giuse...@gmail.com> wrote:
>
>> I use importer rest api.
>> So:
>> step 1: POST   /geoserver/rest/imports (specifying target workspace and
>> target datastore) to obtain an importID
>> step2: POST    /geoserver/rest/imports/<importID>/tasks (passing zip file
>> into body) to obtain a taskID (zip is uploaded into geoserver data dir and
>> is unzipped)
>> step3: PUT      /geoserver/rest/imports/<importID>/tasks/<taskID>/target
>> to reset the target store for given taskID
>> step4: POST    /geoserver/rest/imports/<importID> to execute import
>>
>> This sequence of operations create a table named as passed shapefile into
>> given workspace/datastore;
>> if a table with same name already exists, created table is renamed
>> appending number.
>>
>> If between step2 and step3 I execute PUT 
>> geoserver/rest/imports/<importID>/tasks/<taskID>
>> passing
>> {
>>   "layer": {
>>     "name": "layer1",
>>     "title": "layer1"
>>   }
>> }
>> I could rename layer on geoserver with a different name than that of the
>> table.
>>
>> If between step2 and step3 I execute PUT 
>> geoserver/rest/imports/<importID>/tasks/<taskID>
>> passing
>> {
>>   "task": {
>>      "updateMode": "APPEND"
>>   }
>> }
>> I could append data into existing table (named as uploaded shapefile)
>>
>> I can't find a way to insert data from uploaded shapefile shape.shp into
>> a table which is called tableA (with same fields obviously)
>>
>> It's possible?
>> Thanks
>>
>> Giuseppe
>>
>>
>>
>>
>> Il giorno mar 10 mag 2022 alle ore 06:33 Jody Garnett <
>> jody.garn...@gmail.com> ha scritto:
>>
>>> You may also consider using the resource rest api to upload the file,
>>> and the the importer rest api in ingest (it offers greater control as Ian
>>> suggests).
>>>
>>> The upload you found determines a unique table name based on the
>>> provided content, so for your shapefile this is based on the filename.
>>>
>>> The file is here
>>> https://github.com/geoserver/geoserver/blob/main/src/restconfig/src/main/java/org/geoserver/rest/catalog/DataStoreFileController.java
>>>  if
>>> you wish to troubleshoot.
>>>
>>>                     // does the feature type already exist in the target?
>>>                     try {
>>>                         targetDataStore.getSchema(featureTypeName);
>>>                     } catch (Exception e) {
>>>                         LOGGER.info(
>>>                                 featureTypeName
>>>                                         + " does not exist in data store
>>> "
>>>                                         + storeName
>>>                                         + ". Attempting to create it");
>>>
>>>                         // schema does not exist, create it by first
>>> creating an instance
>>>                         // of the source datastore and copying over its
>>> schema
>>>
>>> targetDataStore.createSchema(sourceDataStore.getSchema(featureTypeName));
>>>                         sourceDataStore.getSchema(featureTypeName);
>>>                     }
>>>
>>> --
>>> Jody Garnett
>>>
>>>
>>> On May 9, 2022 at 10:34:22 AM, Giuseppe Falcone <
>>> falcone.giuse...@gmail.com> wrote:
>>>
>>>> Hi
>>>> thanks for the response.
>>>> I'm building a web application that must have this function.
>>>> From browser user upload a shapefile e I put into a db table.
>>>> I think REST API are perfect for this purpose.
>>>>
>>>> Giuseppe
>>>>
>>>> Il giorno lun 9 mag 2022 alle ore 19:22 Ian Turton <ijtur...@gmail.com>
>>>> ha scritto:
>>>>
>>>>> I'm not sure that you need to involve geoserver in this, Ogr2ogr would
>>>>> be quicker and easier to append a shapefile to a database. The GeoServer
>>>>> rest api is for creating data stores and layers etc not individual data
>>>>> management.
>>>>>
>>>>> Alternatively you might be able to use the importer extension to do
>>>>> this but I've not used that in anger
>>>>>
>>>>>
>>>>> Ian
>>>>>
>>>>> On Mon, 9 May 2022, 17:25 Giuseppe Falcone, <
>>>>> falcone.giuse...@gmail.com> wrote:
>>>>>
>>>>>> Hi to all
>>>>>> I want with geoserver REST API put a shapefile into an existing
>>>>>> postgis table.
>>>>>> I know how to load a shapefile into a postgis database, but I don't
>>>>>> know how I could indicate a specific table in which append data.
>>>>>> I Have a shapefile named tableA.shp; it's possible put it's data into
>>>>>> a postgis table named tableB?
>>>>>> Thanks a lot
>>>>>>
>>>>>> Giuseppe
>>>>>>
>>>>>> _______________________________________________
>>>>>> Geoserver-users mailing list
>>>>>>
>>>>>> Please make sure you read the following two resources before posting
>>>>>> to this list:
>>>>>> - Earning your support instead of buying it, but Ian Turton:
>>>>>> http://www.ianturton.com/talks/foss4g.html#/
>>>>>> - The GeoServer user list posting guidelines:
>>>>>> http://geoserver.org/comm/userlist-guidelines.html
>>>>>>
>>>>>> If you want to request a feature or an improvement, also see this:
>>>>>> https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
>>>>>>
>>>>>>
>>>>>> Geoserver-users@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>>>>>>
>>>>> _______________________________________________
>>>> Geoserver-users mailing list
>>>>
>>>> Please make sure you read the following two resources before posting to
>>>> this list:
>>>> - Earning your support instead of buying it, but Ian Turton:
>>>> http://www.ianturton.com/talks/foss4g.html#/
>>>> - The GeoServer user list posting guidelines:
>>>> http://geoserver.org/comm/userlist-guidelines.html
>>>>
>>>> If you want to request a feature or an improvement, also see this:
>>>> https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
>>>>
>>>>
>>>> Geoserver-users@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>>>>
>>>
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to