geobase/src/modules/geonames/geonames.entity.ts

69 lines
1.3 KiB
TypeScript

import { Entity, Column, Index, PrimaryGeneratedColumn } from 'typeorm';
@Entity()
export class Geoname {
@PrimaryGeneratedColumn()
geonameid: number;
@Index()
@Column({ length: 200 })
name: string;
@Column({ nullable: true, length: 200 })
asciiname: string;
@Column({ nullable: true, type: 'text' })
alternatenames: string;
@Column({ nullable: true, type: 'real' })
latitude: number;
@Column({ nullable: true, type: 'real' })
longitude: number;
// http://www.geonames.org/export/codes.html
@Index()
@Column({ type: 'char', length: 1 })
featureclass: string;
// http://www.geonames.org/export/codes.html
@Index()
@Column({ length: 10 })
featurecode: string;
@Index()
@Column({ length: 2 })
countrycode: string;
@Column({ nullable: true, length: 200 })
cc2: string;
@Column({ nullable: true, length: 20 })
admin1code: string;
@Column({ nullable: true, length: 80 })
admin2code: string;
@Column({ nullable: true, length: 20 })
admin3code: string;
@Column({ nullable: true, length: 20 })
admin4code: string;
@Column({ nullable: true, type: 'bigint' })
population: number;
@Column({ nullable: true })
elevation: number;
@Column({ nullable: true })
dem: number;
@Index()
@Column({ nullable: true })
timezone: string;
@Column({ type: 'date' })
moddate: string;
}