'geonames'에 해당되는 글 2건

  1. 2012.11.02 [SQLite] CSV파일을 SQLite DB로 만들기
  2. 2012.11.02 GeoNames 데이터 포멧 확인하기

[issue] GeoNames 사이트에서 받은 데이터들은 txt 형식을 하고 있으나, 실제로는 tab으로 구분되어 있는 CSV파일 형식이다.  이것을 iOS나 안드로이드에서 사용할 DB로 변환을 해야함.

 

[solution] 네이버 웹검색을 통해 해결책을 찾음  [출처 : 상상하면님 블로그]

  1. firefox 에서 부가기능에서 sqlite manager 설치   

   2. sqlite manager > DataBase> new Database 메뉴실행 

 

  4. DataBase> import

     4-1. CSV파일 선택/ 인코딩 방식 / 구분자 등의 정보지정

4-2. Table column 명 및 Data Type, Primary Key등의 정보 입력

      4-3. import 완료 메시지 출력( 레코드 갯수)

4-4. import Fail 메시지 출력

 importing 하는 과정에서 7개의 레코드에서 에러가 발생했다고 한다.  

 별도로 확인이 필요할 것 같다.   "이유가 뭐니~"

 

 5. Data 확인

파일정보를 SQLite Manager에게 변환했으니, 이제 필요한 자료가 있으면 엡에서 해당 DB를 접근하여 처리하도록 하면 되겠다.

 

[geonames.org cities1000.zip 내용을 DB변환] :  geonames.zip

Posted by 꿈을펼쳐라
,

데이터 포멧을 확인하기 위해서 먼저, http://www.geonames.org에서 한국도시 정보 파일인 KR.zip을 다운 받아 압축을 해제하면 KR.txt 파일이 나온다.  다행이 text 파일이니 워드패드로도 확인가능하니 우선 열어보면 다음과 같다.

 

몇가지 글자는 깨져서 나타나지만, 일정한 형식으로 작성된 듯하다. 각 밸류는 탭으로 구분되어 있으며, 사이트에 따른 여러 언어를 표현하기 위해 UTF-8 인토딩을 적용했다는 내용을 참고하여 이번엔 엑셀프로그램을 이용해 보자.

 

 

이렇게 해서 파일을 열어보면 다음과 같다.

2012년10월30일 기준으로 KR.txt에는 총 78,343개의 도시정보를 갖고 있다. 

그럼, 각 필드의 의미를 살펴보자.

Column 

Name 

Format 

Contents 

 1

geonameid

 interger

 Record ID

 2

 name

 varchar(200)

 지형이름(UTF-8) 

 3

 asciiname

 varchar(200)

 지형이름(ASCII)

 4

 alternatenames

 varchar(5000)

 쉼표로 구분된 다른 이름 (이명)

 5

 latitude

 decimal degrees

 위도(WGS84)

 6

 longitude

 decimal degrees

 경도(WGS84) 

 7

 feature class

 char(1)

 Record 특성 CLASS (codes.html) 

 8

 feature code

 varchar(10)

 Record 특성 CODE (codes.html)

 9

 country code

 char(2)

 ISO-3166 2-letter country code

 10

 cc2

 char(60) 

 alternate country codes,

 11

admin1 code

 varchar(20)

 지역코드1 (admin1Codes.txt 참고, 한국 : 광역시도)

 12

 admin2  code

 varchar(80)

 지역코드2 (admin2Codes.txt 참고, 한국 : 대규모 시군)

 13

admin3 code

 varchar(20)

 지역코드3 (한국의 경우, 소규모 시군)

 14

admin4 code

 varchar(20)

 지역코드4

 15

 population

 bigint( 8byte int)

 인구

 16

 elevation

 interger (meters)

 해발고도

 17

 dem

 interger

 DEM 정보

 18

 timezone

varchar(40) 

 timezone 정보

 19

modification 

yyyy-mm-dd 

 데이터 수정일

여기서 7,8번 정보를 관심있게 볼 필요가 있다. 

Record의 특성을 분류해서 code값으로 분류하였는데 주요 정보들은 다음과 같다. 

 [7 : feature class] 

 Class

Description 

 A

country, state, region, ... 

 H

stream, lake, ... 

 L

park, area, ... 

 P

city, village, ... 

 R

road, railroad, ... 

 S

spot, building, farm

 T

mountain, hill, rock , ....

 U

undersea 

 V

forest, health, ... 

[ 8 : feature code ]

feature code에는 feature class를 기준으로 보다 다양한 분류를 하고 있는, 이 내용을 정리하여 엑셀파일로 첨부한다.  행정구역단위의 분류뿐 아니라, 주도 산, 다리, 강, 호수등의 자연적 특성, 빌딩, 도로, 철도 등의 인위적 특성등으로 구분하여 분류를 하고 있다.    이것을 이용한다면 다양한 형태의 서비스를 위한 Map Service의 질을 향상 시킬 수 있을 것 같다. 

Feature Class Code File download :featureCode.xlsx

 

사이트에서 보다 다양하고 정밀한 정보를 얻을 수 있으나, 현재 내가 필요한 정보는 이 수준에서 정리 될 수 있을 것 같다.  관심있는 분들은 보다 세심히 살펴 보시면, 득템하실 지도...

 

Posted by 꿈을펼쳐라
,