2017-04-24 3 views
0

여기에 readOGR으로 읽으려는 KML의 발췌 부분이 있습니다. .. readOGR Missed ExtendedData

require(rgdal) 
x = readOGR('test.kml', layer=ogrListLayers("test.kml"), verbose=T) 
#> OGR data source with driver: KML 
#> Source: "test.kml", layer: "Layer #0" 
#> with 2 features 
#> It has 2 fields 
[email protected] 
#> Name Description 
#> 0 84    
#> 1 84 

Not a new problem

test.kml

<?xml version='1.0' encoding='utf-8'?> 
<kml xmlns="http://www.opengis.net/kml/2.2"> 
    <Document> 
    <Schema name="election-presidentielle-2017" id="election-presidentielle-2017"> 
     <SimpleField name="codreg" type="string"> 
     <displayName>Code Région</displayName> 
     </SimpleField> 
     <SimpleField name="codreg3car" type="string"> 
     <displayName>Code Région 3</displayName> 
     </SimpleField> 
     <SimpleField name="libreg" type="string"> 
     <displayName>Région</displayName> 
     </SimpleField> 
     <SimpleField name="coddpt" type="string"> 
     <displayName>Code Département</displayName> 
     </SimpleField> 
     <SimpleField name="codmindpt" type="string"> 
     <displayName>Code Département 
     </displayName> 
     </SimpleField> 
     <SimpleField name="coddpt3car" type="string"> 
     <displayName>Code Département 3</displayName> 
     </SimpleField> 
     <SimpleField name="libdpt" type="string"> 
     <displayName>Département</displayName> 
     </SimpleField> 
     <SimpleField name="numtour" type="string"> 
     <displayName>Tour</displayName> 
     </SimpleField> 
     <SimpleField name="codsubcom" type="string"> 
     <displayName>Code Commune</displayName> 
     </SimpleField> 
     <SimpleField name="libsubcom" type="string"> 
     <displayName>Commune</displayName> 
     </SimpleField> 
     <SimpleField name="nompsn" type="string"> 
     <displayName>Nom Candidat</displayName> 
     </SimpleField> 
     <SimpleField name="prenompsn" type="string"> 
     <displayName>Prénom Candidat</displayName> 
     </SimpleField> 
     <SimpleField name="civilitepsn" type="string"> 
     <displayName>Civilité Candidat</displayName> 
     </SimpleField> 
     <SimpleField name="numpanneaucand" type="string"> 
     <displayName>Numéro Panneau Candidat</displayName> 
     </SimpleField> 
     <SimpleField name="nbvoix" type="int"> 
     <displayName>Nombre de voix</displayName> 
     </SimpleField> 
     <SimpleField name="rapportinscrit" type="double"> 
     <displayName>Rapport Inscrit</displayName> 
     </SimpleField> 
     <SimpleField name="rapportexprime" type="double"> 
     <displayName>rapportexprime</displayName> 
     </SimpleField> 
     <SimpleField name="code_insee" type="string"> 
     <displayName>Code Insee</displayName> 
     </SimpleField> 
    </Schema> 
    <Placemark> 
     <name>84</name> 
     <Polygon> 
     <outerBoundaryIs> 
      <LinearRing> 
      <coordinates>4.9030768998,46.1579771394 4.903773126,46.157645709 4.9067820906,46.1562053906 4.9085001702,46.1548830643 4.9095492036,46.1537791314 4.9106569632,46.1525390878 4.9112674797,46.1517595766 4.9161461217,46.1453469021 
       4.9160777584,46.1439086534 4.9156193663,46.1424337477 4.9145874913,46.1404541802 4.9093076435,46.1307852326 4.9093613658,46.1291638781 4.9158884782,46.127574897 4.9200298575,46.1257142424 4.9230135966,46.1235415672 4.9258961462,46.1201896347 
       4.9262770895,46.120045356 4.9266095705,46.120218064 4.9315756331,46.1225684278 4.9367339062,46.1262421207 4.9378762749,46.127116182 4.9390381372,46.1283943404 4.9395243837,46.1291030402 4.9399472307,46.1298137221 4.940252746,46.1307966353 
       4.9406425153,46.1321834498 4.9409012267,46.1335274654 4.9409959919,46.1341554766 4.940503709,46.134707048 4.9398299924,46.1395835589 4.9406706269,46.1415896 4.9428982044,46.1455436813 4.9460544153,46.1492521236 4.9463858083,46.1494238953 
       4.9469685666,46.1494112058 4.948566391,46.1489685562 4.9578258548,46.1529852741 4.9582913471,46.1532447772 4.9553500484,46.1540331688 4.9508770382,46.1553071858 4.9453021789,46.1573520303 4.9431568487,46.1584102059 4.9401772735,46.1602923709 
       4.9368787943,46.1618862443 4.9337395419,46.1626333003 4.931584178,46.1622772346 4.9312514883,46.1639105549 4.9316886461,46.1648390082 4.9330032704,46.167600886 4.9351734924,46.1696212725 4.9366153847,46.1699939409 4.9376185464,46.1706452011 
       4.9387676797,46.1730044996 4.939996705,46.1756767881 4.9400915327,46.1763047983 4.9397434505,46.1771682606 4.9383177085,46.1785058892 4.9369448895,46.1796183085 4.9359306904,46.1800913711 4.9341221355,46.1815732794 4.9330127333,46.1827685385 
       4.93289657,46.1830416412 4.9287600537,46.1832713453 4.916470741,46.1837323363 4.9147078505,46.183457594 4.9138535896,46.1832071613 4.913320385,46.1829035785 4.9095372185,46.1796146164 4.9088536889,46.1788649666 4.9074867671,46.176734229 
       4.907292177,46.1690883427 4.905691265,46.1646916296 4.9045896831,46.1612287097 4.9045764202,46.1609587077 4.9042950093,46.1604698149 4.903096103,46.1583812534 4.9030768998,46.1579771394 
      </coordinates> 
      </LinearRing> 
     </outerBoundaryIs> 
     </Polygon> 
     <ExtendedData> 
     <SchemaData schemaUrl="election-presidentielle-2017"> 
      <SimpleData name="codreg">84</SimpleData> 
      <SimpleData name="codreg3car">084</SimpleData> 
      <SimpleData name="libreg">Auvergne et Rhône-Alpes</SimpleData> 
      <SimpleData name="coddpt">01</SimpleData> 
      <SimpleData name="codmindpt">01</SimpleData> 
      <SimpleData name="coddpt3car">001</SimpleData> 
      <SimpleData name="libdpt">Ain</SimpleData> 
      <SimpleData name="numtour">1</SimpleData> 
      <SimpleData name="codsubcom">001</SimpleData> 
      <SimpleData name="libsubcom">L'Abergement-Clémenciat</SimpleData> 
      <SimpleData name="nompsn">DUPONT-AIGNAN</SimpleData> 
      <SimpleData name="prenompsn">Nicolas</SimpleData> 
      <SimpleData name="civilitepsn">M.</SimpleData> 
      <SimpleData name="numpanneaucand">1</SimpleData> 
      <SimpleData name="nbvoix">34</SimpleData> 
      <SimpleData name="rapportinscrit">5.69</SimpleData> 
      <SimpleData name="rapportexprime">6.87</SimpleData> 
      <SimpleData name="code_insee">01001</SimpleData> 
     </SchemaData> 
     </ExtendedData> 
    </Placemark> 
    <Placemark> 
     <name>84</name> 
     <Polygon> 
     <outerBoundaryIs> 
      <LinearRing> 
      <coordinates>4.9030768998,46.1579771394 4.903773126,46.157645709 4.9067820906,46.1562053906 4.9085001702,46.1548830643 4.9095492036,46.1537791314 4.9106569632,46.1525390878 4.9112674797,46.1517595766 4.9161461217,46.1453469021 
       4.9160777584,46.1439086534 4.9156193663,46.1424337477 4.9145874913,46.1404541802 4.9093076435,46.1307852326 4.9093613658,46.1291638781 4.9158884782,46.127574897 4.9200298575,46.1257142424 4.9230135966,46.1235415672 4.9258961462,46.1201896347 
       4.9262770895,46.120045356 4.9266095705,46.120218064 4.9315756331,46.1225684278 4.9367339062,46.1262421207 4.9378762749,46.127116182 4.9390381372,46.1283943404 4.9395243837,46.1291030402 4.9399472307,46.1298137221 4.940252746,46.1307966353 
       4.9406425153,46.1321834498 4.9409012267,46.1335274654 4.9409959919,46.1341554766 4.940503709,46.134707048 4.9398299924,46.1395835589 4.9406706269,46.1415896 4.9428982044,46.1455436813 4.9460544153,46.1492521236 4.9463858083,46.1494238953 
       4.9469685666,46.1494112058 4.948566391,46.1489685562 4.9578258548,46.1529852741 4.9582913471,46.1532447772 4.9553500484,46.1540331688 4.9508770382,46.1553071858 4.9453021789,46.1573520303 4.9431568487,46.1584102059 4.9401772735,46.1602923709 
       4.9368787943,46.1618862443 4.9337395419,46.1626333003 4.931584178,46.1622772346 4.9312514883,46.1639105549 4.9316886461,46.1648390082 4.9330032704,46.167600886 4.9351734924,46.1696212725 4.9366153847,46.1699939409 4.9376185464,46.1706452011 
       4.9387676797,46.1730044996 4.939996705,46.1756767881 4.9400915327,46.1763047983 4.9397434505,46.1771682606 4.9383177085,46.1785058892 4.9369448895,46.1796183085 4.9359306904,46.1800913711 4.9341221355,46.1815732794 4.9330127333,46.1827685385 
       4.93289657,46.1830416412 4.9287600537,46.1832713453 4.916470741,46.1837323363 4.9147078505,46.183457594 4.9138535896,46.1832071613 4.913320385,46.1829035785 4.9095372185,46.1796146164 4.9088536889,46.1788649666 4.9074867671,46.176734229 
       4.907292177,46.1690883427 4.905691265,46.1646916296 4.9045896831,46.1612287097 4.9045764202,46.1609587077 4.9042950093,46.1604698149 4.903096103,46.1583812534 4.9030768998,46.1579771394 
      </coordinates> 
      </LinearRing> 
     </outerBoundaryIs> 
     </Polygon> 
     <ExtendedData> 
     <SchemaData schemaUrl="election-presidentielle-2017"> 
      <SimpleData name="codreg">84</SimpleData> 
      <SimpleData name="codreg3car">084</SimpleData> 
      <SimpleData name="libreg">Auvergne et Rhône-Alpes</SimpleData> 
      <SimpleData name="coddpt">01</SimpleData> 
      <SimpleData name="codmindpt">01</SimpleData> 
      <SimpleData name="coddpt3car">001</SimpleData> 
      <SimpleData name="libdpt">Ain</SimpleData> 
      <SimpleData name="numtour">1</SimpleData> 
      <SimpleData name="codsubcom">001</SimpleData> 
      <SimpleData name="libsubcom">L'Abergement-Clémenciat</SimpleData> 
      <SimpleData name="nompsn">LE PEN</SimpleData> 
      <SimpleData name="prenompsn">Marine</SimpleData> 
      <SimpleData name="civilitepsn">Mme</SimpleData> 
      <SimpleData name="numpanneaucand">2</SimpleData> 
      <SimpleData name="nbvoix">126</SimpleData> 
      <SimpleData name="rapportinscrit">21.07</SimpleData> 
      <SimpleData name="rapportexprime">25.45</SimpleData> 
      <SimpleData name="code_insee">01001</SimpleData> 
     </SchemaData> 
     </ExtendedData> 
    </Placemark> 
    </Document> 
</kml> 

그리고하지만 난 soluition을 찾을 수 없습니다 다음 <ExtendedData> 내용은 놓쳤다되고있다. 어떤 제안? readOGR을 관리 할 수 ​​없다면 읽을 수있는 태그로 <ExtendedData> (어쩌면 R 외부)을 다시 포맷 할 수있는 방법이 있는지 궁금하십니까?

ogr2ogr -f CSV test.csv test.kml 

.. 그리고 R는, 예를 들어 공간 데이터로 재결합 할 수

답변

0

OK이 node.js 워크 플로우 (나머지와 함께)에 대한 CSV <ExtendedData> 콘텐츠를 추출

[email protected] = read.csv('test.csv') 
관련 문제