답변:
아마도 가장 간단한 방법은 QGIS 및 구분 된 텍스트 플러그인과 같은 것을 사용 하여 데이터를 가져온 다음 내보내는 것입니다. 커맨드 라인과 확장 가능한 것을 찾고 있다면 Sasa가 언급 한 VRT 접근 방식이 좋습니다.
다음을 사용하여 파일 입력 및 출력으로 수행 할 수도 있습니다 gdaltransform
.
gdaltransform -s_srs epsg:4326 -t_srs epsg:25832 < space-delimited-coordinates.txt
결과에 더 프로그래밍 방식으로 액세스 해야하는 경우 pyroj 를 사용하여 geographika의 답변을 확인하십시오 .
아크 맵으로
csv를 추가하고 위도 long을 사용하여 이벤트 테이블을 만듭니다. (레이어를 마우스 오른쪽 버튼으로 클릭> "XY 데이터 표시")
테이블과 포인트 레이어 (실제 포인트 레이어가 아니라 나중에 내 보내야 함)로 이벤트 레이어를 만듭니다.
문서 투영 (데이터 프레임 속성)을 원하는 파일 출력으로 설정합니다. TOC "> 속성> 좌표계 탭에서 도면층을 마우스 오른쪽 버튼으로 클릭합니다.
TOC> 데이터 내보내기에서 레이어를 마우스 오른쪽 버튼으로 클릭하십시오.
"데이터 프레임과 동일한 좌표계를 사용하려면"옵션을 사용하십시오.
ogr2ogr에서이를 처리 할 수 있어야합니다 ( 빠른 설치를 위해 FWTools 를 다운로드 할 수 있음 ).
이 스레드 는 CSV 데이터를 재 투영하는 방법을 보여줍니다. 요약하면 CSV 열에 대한 참조가 포함 된 VRT 파일을 만들어야합니다.
<OGRVRTDataSource>
<OGRVRTLayer name="test">
<SrcDataSource>test.csv</SrcDataSource>
<GeometryType>wkbPoint</GeometryType>
<GeometryField encoding="PointFromColumns" x="RW" y="HW"/>
</OGRVRTLayer>
</OGRVRTDataSource>
그런 다음 재 투영을 위해 ogr2ogr을 실행하십시오.
ogr2ogr -s_srs "epsg:31466" -t_srs "epsg:25832" -f "CSV" -lco GEOMETRY=AS_XY -sql "SELECT PNR FROM test" temp_dir test.vrt
epsg : 31466을 UTM 좌표계에 적합한 EPSG 코드로 바꿔야합니다.
미 육군 공병대에서 제공하는 무료 도구 인 Corpscon 을 사용하면 위도 / 경도를 UTM으로 /로부터 일괄 변환 할 수 있습니다. 미국으로 제한 되며 캐나다에서 작동 할 수 있습니다 .
있습니다 작업 스프레드 시트 및 기타 소스 코드 (포트란, C ++ 등)에서 http://www.gpsy.com/gpsinfo/geotoutm/ 큰 자원은 1996 년 (그리고 여전히 작동)!
좌표를 일괄 변환 할 수있는 상용 (그러나 저렴한) 독립형 데스크톱 응용 프로그램이 있습니다. 자세한 내용은 http://geomaticsolutions.com/products/geo-suite/geo-calc를 참조하십시오.
무료 온라인 서비스를 사용하여 단일 포인트 변환을 수행 할 수도 있습니다. http://georepository.com/home.html
내가 이해하는 것처럼 단순히 파일을 다시 투영하고 싶지 않고 좌표 자체를 변환하고 새 좌표가있는 새 파일을 원합니다. Google에서 "lat / lon을 utm으로 변환"하는 경우 위스콘신 대학교 그린 베이 또는 위 의 whuber의 답변 에서이 변환을 수행 할 수있는 Excel 스프레드 시트를 찾아야 합니다. 또는 AllTrans 또는 Franson Coordtrans와 같은 소프트웨어를 구입하여 여러 좌표계와 일괄 변환 할 수 있습니다.
또는 덜 간단하지만 더 교육적인 방법은 gdal 또는 FWTools의 구문을 배우는 것입니다.
스크립팅 솔루션의 경우 pyproj를 사용할 수 있습니다 .
import sys
import csv
import pyproj
# example invocation
# ./reproj.py ./file.csv 32619 4326
if (len(sys.argv) != 4):
print '%s <csvfile> <epsg_code_in> <epsg_code_out>' % sys.argv[0]
sys.exit(1)
else:
p1 = pyproj.Proj(init='epsg:%s' % sys.argv[2])
p2 = pyproj.Proj(init='epsg:%s' % sys.argv[3])
f = open(sys.argv[1], 'r')
table = csv.reader(f)
for row in table:
print '%s %s' % (row[1], row[2])
newxy = pyproj.transform(p1, p2, row[1], row[2])
print '%s %s' % (row[0], newxy[0], newxy[1])
f.close()
나는 ARC 솔루션을 가지 않을 것이다. 이러한 일반적인 변환에는 http://www.hamstermap.com 과 같은 많은 온라인 도구 가 있습니다. 좌표 목록을 복사하여 붙여 넣기 만하면 즉시 변환됩니다.