#1 Tue 22 March 2011 09:55
- leseb34
- Juste Inscrit !
- Date d'inscription: 22 Mar 2011
- Messages: 1
OGR : Conversion KML en Shapefile avec attributs
Bonjour à tous,
J'essaye de convertir un fichier KML en Shapefile tout en conservant les attributs.
Mon fichier est le suivant :
Code:
<?xml version="1.0" encoding="utf-8" ?> <kml xmlns="http://www.opengis.net/kml/2.2"> <Document><Folder><name>110m_lakes</name> <Schema name="110m_lakes" id="110m_lakes"> <SimpleField name="Name" type="string"></SimpleField> <SimpleField name="Description" type="string"></SimpleField> <SimpleField name="ScaleRank" type="int"></SimpleField> <SimpleField name="FeatureCla" type="string"></SimpleField> <SimpleField name="Name1" type="string"></SimpleField> <SimpleField name="Name2" type="string"></SimpleField> </Schema> <Placemark> <name>0</name> <description>Lake</description> <Style><LineStyle><color>ff0000ff</color></LineStyle> <PolyStyle><fill>0</fill></PolyStyle></Style> <ExtendedData><SchemaData schemaUrl="#110m_lakes"> <SimpleData name="Name">0</SimpleData> <SimpleData name="Description">Lake</SimpleData> <SimpleData name="ScaleRank">Lake Baikal</SimpleData> <SimpleData name="Name1">0</SimpleData> <SimpleData name="Name2">POLYGON</SimpleData> </SchemaData></ExtendedData> <Polygon><outerBoundaryIs><LinearRing><coordinates>106.57998579307912,52.799981594445541 106.53998823448521,52.939998887740373 107.0800069519353,53.180010077519981 107.2999935242018,53.379997870489532 107.59997521365611,53.519989325568218 108.03994835818912,53.859968573616456 108.37997928266967,54.259995835987837 109.05270307824526,55.027597561251326 109.19346967980832,55.535602728896592 109.50699059452313,55.730913804743722 109.92980716353523,55.712956244522303 109.70000206913326,54.980003567110515 109.66000451053935,54.719993598033952 109.47996382043448,54.339990953175658 109.31997358605884,53.819996853238692 109.22003136600637,53.619983222052994 108.99999311730755,53.780025132860928 108.60001753136845,53.439994208380398 108.800005324338,53.379997870489532 108.76000776574409,53.200008856816936 108.45997439985749,53.140012518926071 108.17999148970011,52.799981594445541 107.79996300662566,52.579995022179034 107.31999230349876,52.420004787803393 106.64003380740229,52.320010891318617 106.10001508995219,52.039976304728967 105.740037062607,51.759993394571595 105.24001590375084,51.520008043008133 104.81998986208251,51.460011705117267 104.30002160036167,51.500009263711178 103.76000288291161,51.600003160195953 103.62001142783291,51.73999461527464 103.85999677939637,51.85998729105637 104.39996382041414,51.85998729105637 105.05997521364597,52.000004584351203 105.48000125531431,52.280013332724707 105.98002241417046,52.519998684288169 106.26000532432784,52.619992580772944 106.57998579307912,52.799981594445541</coordinates></LinearRing></outerBoundaryIs></Polygon> </Placemark> </Folder></Document></kml>
J'utilise pour cela la ligne de commande suivante :
Code:
ogr2ogr -f "ESRI Shapefile" lake.shp lake.kml
Le problème est que je ne récupère que les attributs Name and Descriptio (après troncage) dans le Shapefile de sortie.
Les attributs ScaleRank, FeatureCla, Name12 et Name2 sont manquants.
J'utilise pourant le driver LIBKML d'OGR qui est censé prendre en compte la conversion de tous les attributs.
Code:
D:\Data\> ogr2ogr --formats Supported Formats: -> "ESRI Shapefile" (read/write) -> "MapInfo File" (read/write) -> "UK .NTF" (readonly) -> "SDTS" (readonly) -> "TIGER" (read/write) -> "S57" (read/write) -> "DGN" (read/write) -> "VRT" (readonly) -> "REC" (readonly) -> "Memory" (read/write) -> "BNA" (read/write) -> "CSV" (read/write) -> "GML" (read/write) -> "GPX" (read/write) -> "LIBKML" (read/write) -> "KML" (read/write) -> "GeoJSON" (read/write) -> "GMT" (read/write) -> "ODBC" (read/write) -> "PGeo" (readonly) -> "MSSQLSpatial" (read/write) -> "PCIDSK" (read/write) -> "XPlane" (readonly) -> "AVCBin" (readonly) -> "AVCE00" (readonly) -> "DXF" (read/write) -> "Geoconcept" (read/write) -> "GeoRSS" (read/write) -> "GPSTrackMaker" (read/write) -> "VFK" (readonly) -> "PGDump" (read/write) -> "GPSBabel" (read/write) -> "SUA" (readonly) -> "OpenAir" (readonly) -> "PDS" (readonly) -> "HTF" (readonly) -> "AeronavFAA" (readonly)
Merci d'avance pour votre aide.
Sébastien
Hors ligne
#2 Mon 18 June 2012 16:10
- Sylvain265
- Participant occasionnel
- Lieu: Gaillac
- Date d'inscription: 13 Jun 2007
- Messages: 14
Re: OGR : Conversion KML en Shapefile avec attributs
Bonjour,
Je me permets de rebondir sur votre message car je cherche à récupérer les attributs de fichiers KML et donc je souhaiterai installer le pilote "LIBKML".
Malgré quelques informations trouvées sur internet, je n'arrive toujours pas à réaliser cette installation. Pourriez-vous, s'il vous plaît, m'indiquer la marche à suivre?
Par ailleurs, avez-vous trouvé une solution quant à la récupération des attributs dans le shapefile?
Je vous remercie d’avance pour les informations que vous pourrez me fournir.
Sylvain
Sylvain FORT
Chef de service Information Géographique
Communauté d'Agglomération Gaillac Graulhet
Hors ligne
#3 Mon 18 June 2012 16:36
Re: OGR : Conversion KML en Shapefile avec attributs
Tu peux essayer de bidouiller avec les options du driver KML d'OGR: namefield et descriptionfield
http://www.gdal.org/ogr/drv_kml.html
geodata au cerema et petits billets en géomatique
Hors ligne
#4 Thu 28 August 2014 15:17
- thomas_geo
- Participant occasionnel
- Date d'inscription: 26 Jan 2011
- Messages: 35
Re: OGR : Conversion KML en Shapefile avec attributs
Bonjour,
MathieuR, il me semble que les options NameField et DescriptionField ne fonctionnent que lorsque l'on converti un shp en kml et non l'inverse. Je n'ai pas trouvé de solution pour conserver l'ensemble des attributs lorsque l'on traduit un kml en shape. Peut être que les outils d'Esri et de Safe permettent de le faire mais est-ce qu'il existe une solution gratuite? Avec ogr j'obtiens que les champs Name et Descriptio.
Cordialement,
Hors ligne