SimpleGeo Places GeoJSON 파일을 shapefile로 변환 하시겠습니까?


15

SimpleGeo 는 최근 "Places"데이터 세트를 무료로 사용할 수있게 만들었습니다. 이제는 오프라인으로도 자체 목적으로 사용할 수 있기 때문입니다. 그래서 GeoJSON 형식의 압축 국가 파일이 포함 된 2GB 데이터 세트다운로드했습니다 .

여기에 내 문제가 시작되는 곳이 있습니다 ... 국가 파일 (* .geojson)을 QGIS에 직접로드하거나 ogr2ogr을 사용하여 shapefile로 변환하려고하면 1 포인트 기능으로 끝납니다.

이 파일들에는 더 이상 볼 수 없거나 검색 할 수없는 데이터가 더 있습니다. 그래서 내가 뭘 잘못하고 있습니까? 누군가이 파일을 유용한 GIS 기능으로 변환하는 방법에 대한 제안을 해 줄 수 있습니까?

업데이트 된 질문 : geojson 파일을 데스크탑 GIS 소프트웨어에서 사용하기 위해 shapefile (또는 유사한 표준 GIS 형식)로 변환하고 싶습니다 .

2011 년 8 월 1 일 SimpleGeo 블로그의 스 니펫 :

"SimpleGeo의 CC0 Places 데이터 세트를 이제 무료로 다운로드 할 수 있습니다. 63 개국을 커버하는 21M + POI를 얻으려면 하나의 파일로 넘겨 줄 준비가되었습니다. 파일은 다음과 같습니다. .ZIP 형식의 2GB를 사용하고 CC0 라이센스를 사용하면이 데이터를 원하는대로 할 수있는 자유롭고 명확한 데이터로 사용할 수 있습니다 . 멋진 작업을 수행하기를 바랍니다 . 여기를 클릭하여 지금 다운로드 할 수 있습니다. "

업데이트 : 2012 년 1 월 12 일 : 2011 년 10 월 Urban Airship이 SimpleGeo를 인수 한 후 Urban Aiship은 "현재 몇 달 동안 [SimpleGeo] 장소, 상황 및 스토리지의 현재 버전을 사용할 수있게되었습니다."라고 말했습니다. 플러그를 잡아 당기의 대상 날짜는 공식적으로 2012 년 3 월 31 될 것입니다 링크


3
+1. 위치 데이터가 실제로 중요하며 자유롭게 이용할 수 있어야한다고 SimpleGeo의 Matt Galligan에게 들었습니다. 팔아야 할 상황이다. '그들'을 만나서 반가 웠습니다. 또한이 데이터를 활용하고자합니다.
Erick

답변:


10

다음에 기능을 배치하십시오.

{"type":"FeatureCollection","features":[ 

****ALL THE DATA HERE -- COMMA SEPARATED****

]}

각 기능을 쉼표로 구분합니다.

예를 들어 다음은 IE 데이터 세트의 첫 두 기능입니다.

{"geometry": {"type": "Point", "coordinates": [-6.422587, 53.293363]}, "type": "Feature", "id": "SG_41u80gC4971D4Gc0Fv1p8q_53.293363_-6.422587@1308163237", "properties": {"website": "http://www.buongiorno.com", "city": "Dublin", "name": "Buongiorno", "tags": ["mobile", "vas", "community", "social-networking", "connected-devices", "android", "tablets", "smartphones"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/SG_41u80gC4971D4Gc0Fv1p8q_53.293363_-6.422587@1308163237.json", "address": "Lake Drive City West Digital Park", "owner": "simplegeo", "postcode": "3050"}}
{"geometry": {"type": "Point", "coordinates": [-6.250848, 53.339347]}, "type": "Feature", "id": "SG_1dnWbWIg8hX3VyfUKIDRz9_53.339347_-6.250848@1308163237", "properties": {"website": "http://www.simchronise.com", "city": "Dublin", "name": "SIMchronise", "tags": ["mobile-solutions", "mobile-data", "data-synchronisation", "mobile-security", "backup", "restore", "mobile-contacts", "web-2.0-addressbook", "phonebackup"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/SG_1dnWbWIg8hX3VyfUKIDRz9_53.339347_-6.250848@1308163237.json", "address": "78 Merrion Square", "owner": "simplegeo", "postcode": "Dublin2"}}

... 그리고 여기는 GeoJSON FeatureCollection입니다.

{"type":"FeatureCollection","features":[ 
{"geometry": {"type": "Point", "coordinates": [-6.422587, 53.293363]}, "type": "Feature", "id": "SG_41u80gC4971D4Gc0Fv1p8q_53.293363_-6.422587@1308163237", "properties": {"website": "http://www.buongiorno.com", "city": "Dublin", "name": "Buongiorno", "tags": ["mobile", "vas", "community", "social-networking", "connected-devices", "android", "tablets", "smartphones"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/SG_41u80gC4971D4Gc0Fv1p8q_53.293363_-6.422587@1308163237.json", "address": "Lake Drive City West Digital Park", "owner": "simplegeo", "postcode": "3050"}},
{"geometry": {"type": "Point", "coordinates": [-6.250848, 53.339347]}, "type": "Feature", "id": "SG_1dnWbWIg8hX3VyfUKIDRz9_53.339347_-6.250848@1308163237", "properties": {"website": "http://www.simchronise.com", "city": "Dublin", "name": "SIMchronise", "tags": ["mobile-solutions", "mobile-data", "data-synchronisation", "mobile-security", "backup", "restore", "mobile-contacts", "web-2.0-addressbook", "phonebackup"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/SG_1dnWbWIg8hX3VyfUKIDRz9_53.339347_-6.250848@1308163237.json", "address": "78 Merrion Square", "owner": "simplegeo", "postcode": "Dublin2"}}
]}

귀하의 게시 후 나는 내 질문을 명확하게하지 않아서 편집했다는 것을 깨달았습니다. 데스크탑 GIS에서 사용하기 위해 데이터를 shapefile 또는 다른 표준 GIS 형식으로 변환하고 싶습니다. 잘못 된 질문에 대해 죄송하지만 @fod 답변에 감사드립니다.
RyanKDalton

2
fod의 대답은 반쯤 당신을 얻을 것입니다. 제시된대로 FeatureCollection의 기능을 랩핑하고 쉼표로 구분하려면 이러한 덤프를 모두 사전 처리해야합니다. 쉬운 방법은 모든 개행을, + 개행 (예 : \ n with, \ n)으로 바꾸고 스크립트를 통해 또는 텍스트 편집기를 통해 FeatureCollection에 포함시키는 것입니다. 모든 파일을 올바른 GeoJSON으로 수정 한 후 ogr2ogr v1.8.0 이상을 사용하여 GeoJSON을 shapefile로 변환 할 수 있습니다.
Sasa Ivetic

우수한! 나는 이것이 그들이 "읽을 수있게"하는 데 필요한 것이라는 것을 몰랐다. 위에서 설명한 방법을 사용하여 QGIS를 통해 파일을 직접 읽을 수있게 만들 수있었습니다. 무리 감사! 파일 크기가 9k에 불과한 멕시코 데이터 셋을 좋은 샘플로 사용했습니다. 이제 7.4GB에서 미국 파일에 대한 "검색 및 바꾸기"를 수행합니다.
RyanKDalton

사과-더 빨리 후속 조치를 취할 시간이 없었지만 참고로 QGIS에서 GeoJSON 파일을 직접 열 수 있습니다. shapefile로 변환 할 필요가 없습니다. 그런 다음 실제로 모양 파일을 원하면 해당 형식으로 레이어를 내보낼 수 있습니다 (Layer-> 다른 이름으로 저장 ...).
fod

가장 먼저 시도한 것은 QGIS에서 파일을 직접 여는 것입니다. 문제는 모든 데이터가 한 레코드에 "포장"되어 하나의 지점에 있다는 것입니다. QGIS가 데이터 세트의 각 개별 기능을 인식 할 수 있도록 위에 남겨둔 지침을 따라야했습니다.
RyanKDalton

4

올바른 길로 안내해 준 @fod & @Sasa Ivetic에게 대단히 감사합니다! 나는이 프로젝트를 잠시 동안 내려 놓아야했지만 마침내 오늘 프로젝트로 돌아와서이 결과로 어려움을 겪은 다른 사람들을 돕기 위해 내 결과를 전달하고 싶었다.

@fod의 답변에서 제공 한 정보를 사용하여 덤프 파일을 "적절한"geojson 형식으로 변환하기 위해이 Python 스크립트를 작성했습니다. 이 py 스크립트는 ogr2ogr에서 읽을 수있는 형식으로 데이터를 변환 한 다음 원하는 형식으로 변환 할 수 있습니다.

infile = sys.argv[1]
outfile = sys.argv[2]


## Prepare the input/output for read/write of files
fin = open(infile, 'r')
fout = open(outfile, 'w')


##Prepend the new file with approriate header info
fout.write('{"type":"FeatureCollection","features":[' + '\n')


## Read each line from the input and write to the output
for line in fin:
    ##write each line in the table, and replace carriage returns with "," + carriage return
    fout.write(line.replace("\n",",\n"))

##Append the new file with approriate footer info
fout.write(']}')

##Close the input and output files to release file locking
fin.close()
fout.close()

참고 : OS 메모리 제한으로 인해 ogr2ogr을 통해 변환 된 geojson 파일을 변환하는 데 문제가 발생할 수 있습니다. 이 관련된 질문을 살펴보십시오 : gis.stackexchange.com/questions/16307/...을
RyanKDalton

대단해! Microsoft는 메모리 제한이 있습니다

1

FME 가 시도 할 수 있습니다. GeoJSON을 읽고 Shape를 쓰고 더 중요한 것은 JSON (JSONExploder, JSONFlattener, JSONExtractor)을 처리하기위한 많은 "변환기"를 가지고 있습니다. 따라서 내용을 사용 가능한 형식으로 만드는 것이 도움이 될 것이라고 생각합니다.

무료 평가판도 제공됩니다!

NB : 저는 FME 제조사 인 Safe Software에서 일하고 있습니다.


geojson에서 shp로 작성하는 방법을 보여주는 샘플 작업 영역이 있습니까?
kflaw
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.