Skip to content

Instantly share code, notes, and snippets.

@aborruso

aborruso/toto.md

Created Apr 23, 2020
Embed
What would you like to do?

Come usare un CSV remoto come sorgente, definendo anche i tipi di campo

Si può usare un Virtual File Format fatto così:

<OGRVRTDataSource>
<OGRVRTLayer name="strutture">
    <SrcDataSource relativeToVRT="0">/vsicurl/https://gist.github.com/aborruso/e1e23ab4ec132831bd33db85e8c82603/raw/5fbc1b24153302a218755f0908a62c42167a17c5/strutture.csv</SrcDataSource>
    <GeometryType>wkbPoint</GeometryType>
    <LayerSRS>WGS84</LayerSRS>
	<Field name="ESRI_OID" type="Integer" />
	<Field name="PRO_COM_T" type="String" />
    <GeometryField encoding="PointFromColumns" x="x" y="y"/>
</OGRVRTLayer>
</OGRVRTDataSource>

Se l'URL non contiene l'estensione CSV, si può forzare in questo modo:

<OGRVRTDataSource>
<OGRVRTLayer name="strutture">
    <SrcDataSource relativeToVRT="0">CSV:/vsicurl/https://gist.github.com/aborruso/e1e23ab4ec132831bd33db85e8c82603/raw/5fbc1b24153302a218755f0908a62c42167a17c5/strutture.csv</SrcDataSource>
    <GeometryType>wkbPoint</GeometryType>
    <LayerSRS>WGS84</LayerSRS>
	<Field name="ESRI_OID" type="Integer" />
	<Field name="PRO_COM_T" type="String" />
    <GeometryField encoding="PointFromColumns" x="x" y="y"/>
</OGRVRTLayer>
</OGRVRTDataSource>

Però sopra è necessario definire il corretto name del layer (sopra è "strutture"). Per ricavarlo si può usare ogrinfo

ogrinfo -ro -al -q /vsicurl/https://gist.github.com/aborruso/e1e23ab4ec132831bd33db85e8c82603/raw/5fbc1b24153302a218755f0908a62c42167a17c5/strutture.csv -summary

Che in questo caso darà Layer name: strutture.

Se il server che espone la risorsa CSV non supporta il metodo GET che è quello usato con vsicurl, si può provare /vsicurl_streaming/ e quindi impostare il tutto così:

<OGRVRTDataSource>
<OGRVRTLayer name="strutture">
    <SrcDataSource relativeToVRT="0">CSV:/vsicurl_streaming/https://gist.github.com/aborruso/e1e23ab4ec132831bd33db85e8c82603/raw/5fbc1b24153302a218755f0908a62c42167a17c5/strutture.csv</SrcDataSource>
    <GeometryType>wkbPoint</GeometryType>
    <LayerSRS>WGS84</LayerSRS>
	<Field name="ESRI_OID" type="Integer" />
	<Field name="PRO_COM_T" type="String" />
    <GeometryField encoding="PointFromColumns" x="x" y="y"/>
</OGRVRTLayer>
</OGRVRTDataSource>
@gimmybruce

This comment has been minimized.

Copy link

@gimmybruce gimmybruce commented Apr 29, 2020

Ciao. Non è possibile farlo con un google sheet pubblicato come .csv?

@aborruso

This comment has been minimized.

Copy link
Owner Author

@aborruso aborruso commented Apr 29, 2020

Ciao @gab-bruce non parlo mai di google sheet sopra. Quindi non capisco la domanda

@gimmybruce

This comment has been minimized.

Copy link

@gimmybruce gimmybruce commented Apr 29, 2020

Mi chiedevo se fosse possibile farlo anche con un google sheet. Grazie comunque.

@aborruso

This comment has been minimized.

Copy link
Owner Author

@aborruso aborruso commented Apr 29, 2020

@gab-bruce sì è possibile, non avevo capito la domanda

@gimmybruce

This comment has been minimized.

Copy link

@gimmybruce gimmybruce commented Apr 29, 2020

Ah ok. Ci sto provando proprio ora ma non riesco a visualizzarlo. Ho pubblicato il singolo foglio col seguente link: https://docs.google.com/spreadsheets/d/e/2PACX-1vT89Gvg-StE8M0zapI3A-WYRR1EbrnbUMZSi4QGFpJy5P4aM5r1HJ3I3Ro_OJceWZBygmFbLZVMJok6/pub?gid=1205794028&single=true&output=csv . Se ti va magari dai una occhiata? :)

@aborruso

This comment has been minimized.

Copy link
Owner Author

@aborruso aborruso commented Apr 29, 2020

ciao @gab-bruce fai una richiesta, tramite issue qui https://github.com/opendatasicilia/tansignari/issues

E per favore oltre all'URL del csv, tieni conto che non sono "mago". Quindi se hai creato un file vrt, allega pure quello, specifica che software e versione stai usando.

In quello spazio c'è un galateo http://tansignari.opendatasicilia.it/it/latest/galateo.html :)

Poi le "ricette" raccolte, finiscono qui http://tansignari.opendatasicilia.it/it/latest/ricette/index.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.