Vevstedet geonames
[1]
inneholder en masse data om steder i verden. Vevstedet er delvis brukerdrevet.
Det betyr blandt annet at du kan registrere deg som bruker og legge til nye geografiske enheter.
For å få tilgang til data må du også være bruker og sende med
brukernavnet som parameter i alle forespørsler. Dette er ikke en
kontroll med passord, men bare en registrering av brukervolumet.
Det er noen grenser for hvor mye en bruker kan hente
innen en begrenset tid. Dataene er ellers fritt tilgjengelige og
kan hentes ned som dumper fra en database eller de kan
hentes vie en enkel webservice i ymse format, XML, CSV eller JSON.
Jeg har tatt ned og ordnet data for alle landområder i verden i henholdvis CSV- og XML-format.
Husk at dette er bare ett av mange datasett som kan lastes ned.
Jeg har laget lokale kopier for å sikre tilgjengeligheten.
De samme data finnes som ws.geonames.org/countryInfo
og ws.geonames.org/countryInfoCSV.
Husk å legge til ?username=username.
CSV
Dataene ser slik ut:
Den komplette adressen er:
https://borres.hiof.no/wep/data/geografi/land.txt
Feltene er skilt med tabulator, og feltene er:
- 2 bokstavers kode standardisert av ISO
- 3 bokstavers kode standardisert av ISO
- tallkode kode standardisert av ISO
- fips code, identifikasjon fra en annen standard (fips)
- landets navn på engelsk
- hovestadens navn på engelsk
- arealet i km2
- befolkning
- verdensdel, EU, AS, NA, AF, AN, SA, OC
- språk, nærmere forklart på geonames
- mynt
- ID for denne geografiske enheten i geonames database
XML
XML-fila inneholder i tillegg til CSV-fila geografiske koordinater for
en boks som omgir landet.
Dataene ser slik ut:
Den komplette adressen er:
https://borres.hiof.no/wep/data/geografi/land.xml
Disse kan valideres med følgende DTD:
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT population (#PCDATA)>
<!ELEMENT languages (#PCDATA)>
<!ELEMENT isoNumeric (#PCDATA)>
<!ELEMENT isoAlpha3 (#PCDATA)>
<!ELEMENT geonames ((country+))>
<!ELEMENT geonameId (#PCDATA)>
<!ELEMENT fipsCode (#PCDATA)>
<!ELEMENT currencyCode (#PCDATA)>
<!ELEMENT countryName (#PCDATA)>
<!ELEMENT countryCode (#PCDATA)>
<!ELEMENT country ((countryCode, countryName,
isoNumeric, isoAlpha3, fipsCode,
continent, capital, areaInSqKm,
population, currencyCode, languages,
geonameId, west, north,
east, south))>
<!ELEMENT continent (#PCDATA)>
<!ELEMENT capital (#PCDATA)>
<!ELEMENT west (#PCDATA)>
<!ELEMENT south (#PCDATA)>
<!ELEMENT north (#PCDATA)>
<!ELEMENT east (#PCDATA)>
<!ELEMENT areaInSqKm (#PCDATA)>
eller følgende skjema:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="population" type="xs:int"/>
<xs:element name="languages" type="xs:string"/>
<xs:element name="isoNumeric" type="xs:int"/>
<xs:element name="isoAlpha3" type="xs:string"/>
<xs:element name="geonames">
<xs:complexType>
<xs:sequence>
<xs:element ref="country" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="geonameId" type="xs:int"/>
<xs:element name="fipsCode" type="xs:string"/>
<xs:element name="currencyCode" type="xs:string"/>
<xs:element name="countryName" type="xs:string"/>
<xs:element name="countryCode" type="xs:string"/>
<xs:element name="country">
<xs:complexType>
<xs:sequence>
<xs:element ref="countryCode"/>
<xs:element ref="countryName"/>
<xs:element ref="isoNumeric"/>
<xs:element ref="isoAlpha3"/>
<xs:element ref="fipsCode"/>
<xs:element ref="continent"/>
<xs:element ref="continentName"/>
<xs:element ref="capital"/>
<xs:element ref="areaInSqKm"/>
<xs:element ref="population"/>
<xs:element ref="currencyCode"/>
<xs:element ref="languages"/>
<xs:element ref="geonameId"/>
<xs:element ref="west"/>
<xs:element ref="north"/>
<xs:element ref="east"/>
<xs:element ref="south"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="continent" type="xs:string"/>
<xs:element name="continentName" type="xs:string"/>
<xs:element name="capital" type="xs:string"/>
<xs:element name="west" type="xs:double"/>
<xs:element name="south" type="xs:double"/>
<xs:element name="north" type="xs:double"/>
<xs:element name="east" type="xs:double"/>
<xs:element name="areaInSqKm" type="xs:string"/>
</xs:schema>
JSON
Dataene er også tilgjengelige som JSON. Den komplette adressen er:
https://borres.hiof.no/wep/data/geografi/land.json