GIS에서 알파 값별 맵을 구현하는 방법은 무엇입니까?


14

나는 최근에 카르 토 그램에 대한 몇 가지 배경 독서를하고 흥미로운 대안 우연히 봤는데 - 가치에 의해 알파 .

개념은 더 상세하게 설명되어 여기에 전체 논문은 [하지 공개적으로 상점] [여기]를 볼 수 있습니다 2 .

indiemaps 블로그 의 구현에 대한 세부 사항이 있습니다 .

... 위의 모든 그래픽은 텍스트 편집기와 최신 무료 Flex SDK를 사용하여 ActionScript 3로 제작되었습니다.

GIS 패키지 (ArcGIS? QuantumGIS?)에서 어떻게 구현할 수 있습니까? 아니면 R과 ggplot2? 아니면 파이썬?



사실, 그것은 그림 tho가 없습니다 : [
radek

4
Rob에게도 수치가 있다고 확신하는 personal.psu.edu/rer198/publications/RothEtAl_2010_CJ.pdf 를 사용해보십시오 .
Ian Turton

답변:


7

다음은 QGIS에서 Alpha By Value를 수행하는 방법입니다

http://nathanw.net/2013/06/27/alpha-by-value-choropleth/

당신은 새로운 사용할 수 있습니다 ramp_colorscale_linear기능과 정의 된 데이터 심볼을

regexp_replace( ramp_color('usa', scale_linear( "unemployed_by_county_xgv_Rate",0,15,0,1)),',[^,]*$',','|| toint(scale_linear("unemployed_by_county_xgv_Labor_Force",0,100000,0,255)))

여기에 이미지 설명을 입력하십시오


1
좋은 작품 (컬러 램프에 대해서는 잘 모르겠지만-유용한 방법이라는 것을 알고 있지만). 전설과 함께 갈 전설을 만드는 방법이 추가 될 수 있습니다.
Andy W

예, 컬러 램프가 실제로 작동하지 않았습니다. 더 나은 제안이 있으면 업데이트 된 이미지를 만들 수 있습니다. 전설에 대해 생각하고, 좋은 계획이 있으면 업데이트됩니다. (QGIS 2.0에서 작동합니다)
Nathan W

1
나는 흰색과 검정색을 시도해 보았습니다. 멋진 모습 i.imgur.com/Wfg8T8P.png
Nathan W

원래 Roth 기사를 확인 하십시오 -그들은 경사로를 제안했습니다. 불포화 때문에 그들은 (초기) 포화 된 이변 량 컬러 브루어 램프 중 일부를 사용합니다. 검정색 배경은 배경 IMO와 비교할 때 더 훌륭하고 놀랄만 한 대비를 제공하기 때문에 멋지게 보입니다. 나는 내 추측에 대해 여기에 썼다 .
Andy W

@AndyW는 (아마도) 더 나은 이미지로 업데이트되었습니다.
Nathan W

5

R에서는 다각형을 읽고 투명도를 지원하는 장치에 다각형을 그릴 수 있습니다. 여기서는 rgdal 및 sp 패키지와 함께 windows () 장치, R 2.12.0을 사용하고 있습니다.

## read some example polygons
library(rgdal)
dsn <- system.file("vectors/ps_cant_31.MIF", package = "rgdal")[1]
ps_cant_31 <- readOGR(dsn=dsn, layer="ps_cant_31")

## scale population values 

ps_cant_31$sclpop <- sqrt((ps_cant_31$POP - min(ps_cant_31$POP))/ diff(range(ps_cant_31$POP)))

## randomly assign 0 or 1
ps_cant_31$rand <- sample(0:1, length(ps_cant_31$POP), replace = TRUE)

## plot red or blue, scaled by population
plot(ps_cant_31,  col = ifelse(ps_cant_31$rand == 0, rgb(0, 0, 1, ps_cant_31$sclpop), rgb(1, 0, 0, ps_cant_31$sclpop)))

대체 텍스트


감사합니다 mdsumner! 그것은 내가 성취하고 싶은 것에 가장 가깝습니다. R의 공간 기능을 약간 어지럽히 기 시작 했으므로 지금 내 데이터로 복제하려고 시도합니다.
radek


4

Geo Vista 사이트와 해당 소프트웨어를 확인하시기 바랍니다. 비주얼 귀하의 툴킷은 , 바이 변량 chloropleth 맵 구현하는 GUI 프로그램을 제공합니다 (여기에 하나 개의 포스터를 알고 그 프로젝트에서 작동을 및 기타 리소스를 차례로 할 수 있습니다).

Cartogrammer 블로그 게시물이 기술을 설명하기에 충분하다고 생각하지만 실제로 사용되는 것을 볼 수있는 멋진 기사 (일반인에게 공개)가 있습니다.

공간 스캔 통계 해석을 향상시키기위한 지리학 적 분석 : 미국 자궁 경부암 사망률 분석 Jin Chen, Robert E Roth, Adam T Naito, Eugene J Lengerich 및 Alan M MacEachren International Journal of Health Geographics 2008, 7:57

파이썬과 R의 코드 예제도 함께보고 싶습니다! 기본적으로 2- 스케일 색 구성표 (또는 이변 량)를 구현할 수있는 모든 프로그램은 알파 맵으로 값을 만들 수 있습니다. 지금까지 내가 본 모든 구현은 choropleth 맵에 대한 것이지만 래스터 또는 포인트 기반 맵에 대해서도 구현할 수없는 이유는 없습니다.


최근 ArcGIS에서 구현하는 방법에 대한 블로그 게시물을 작성하여 ArcMap으로 알파 맵으로 가치를 창출했습니다 . 기본적으로 주어진 투명도에 대해 별도의 레이어를 만든 다음 ArcMap에서 사용 가능한 벡터 편집 도구를 사용하여 필요한 이변 량 범례를 생성합니다 (또는 검은 색 배경 VBA 맵을 생성하려는 경우 가짜 삽입 맵을 사용하여 범례를 복제 함).

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


앤디. VIT는 꽤 재미있어 보입니다. 한번 시도 해봐야합니다.
radek

데이터 입력으로 약간의 땜질이 필요했지만 즉시 작동합니다. 탐색 적 분석을위한 Greaat 도구. 유일한 문제 _ 추가 처리를 위해 데이터를 내보내는 방법을 찾을 수 없습니다.
radek

3

OGC 필터 사양의 수학 함수를 사용하여 % 불투명도를 계산하는 SLD 기반 스타일을 사용하여 uDig를 수행 할 수 있습니다. 나는 그것이 얼마나 효율적인지 확신하지 못하지만 개념 증명에 확실히 사용될 수 있습니다.

http://ian01.geog.psu.edu/geoserver/www/cartogram/alphabyvalue.html 에서 http://ian01.geog.psu.edu/geoserver_docs/cartogram/cartogram 에서 토론을 통해 데모를 작성했습니다 . html . 꽤 쉽다는 것이 밝혀졌습니다.

          <PolygonSymbolizer>
            <Fill>
              <!-- CssParameters allowed are fill (the color) and fill-opacity -->
              <CssParameter name="fill">#4DFF4D</CssParameter>
              <CssParameter name="fill-opacity">
                <ogc:Div>
                  <ogc:PropertyName>PERSONS</ogc:PropertyName>
                  <ogc:Literal>30e6</ogc:Literal>
                </ogc:Div>
              </CssParameter>
            </Fill>     
          </PolygonSymbolizer>

(여기서 30e6은 캘리포니아의 인구입니다)


고마워요 변수 중 하나를 사용하여이를 자동화하고 '다각형마다'이러한 스타일을 적용 할 수 있습니까?
radek

불투명도 매개 변수에서 0-1 사이의 값을 계산하는 함수를 넣어야합니다.
Ian Turton

"알파벳 별지도"대신 "알파벳 별지도"가 아니어야합니까? ian01.geog.psu.edu/geoserver_docs/cartogram/index.html은 다음과 같이 정확하게 기술하고 있습니다.
underdark

1
아마 :-) 그러나지도 제작의 다른 정의는 "점을 만들기 위해 엉망인지도"입니다
Ian Turton

2

GDAL을 사용하여 VRT 파일을 통해 또는 프로그래밍 방식으로 값을 설정하여 RGBA 데이터 세트의 네 번째 밴드 (예 : GeoTiff)에 액세스 할 수 있습니다. RGB Tiff로 시작 하면 FAQ에 따라 팔레트 이미지를 만들 수 있습니다 .

# translate the rgba tiff to a VRT
gdal_translate -of VRT rgb.tif rgb.vrt

# modify the color table in an editor

# translate back to an image
gdal_translate rgb.vrt mask-by-alpha.tif

편집 단계에서 결과를 열고 rgb.vrt필요에 따라 색상 표를 수정하고 c4값 (0-255)을 조정하여 알파를 설정하십시오.

<VRTDataset rasterXSize="226" rasterYSize="271">
  <VRTRasterBand dataType="Byte" band="1">
    <ColorInterp>Palette</ColorInterp>
    <ColorTable>
      <Entry c1="238" c2="238" c3="238" c4="0"/>
      <Entry c1="237" c2="237" c3="237" c4="64"/>
      <Entry c1="236" c2="236" c3="236" c4="128"/>
      <Entry c1="229" c2="229" c3="229" c4="255"/>
    </ColorTable>
  </VRTRasterBand>
</VRTDataset> 

감사합니다 scw. 3k 벡터 다각형을 입력으로 사용하는 시나리오의 워크 플로는 정확히 어떻게 표시됩니까? 먼저 알파없이 choropleth 맵을 작성하고 (래스터로 저장) 래스터 값을 조정해야합니까? 이 값은 내가 추정하는 '다각형 당'기준으로 조정되어야합니까? 그리고 알파 값을 유도 할 필드에 따라 어떻게 든 자동화해야합니다.
radek

1

나는 그것을 좋아한다-나는 전에 그 개념을 정말로 생각하지 않았다.

ArcGIS에서 FME 또는 Data Interoperability 확장에 액세스 할 수있는 경우 알파 밴드를 포함하여 래스터 데이터 세트의 밴드 값을 조작 할 수있는 변환기가 많이 있습니다.

RasterExpressionEvaluator, RasterInterpretationCoercer 및 RasterBandOrderer는 처음에 시도한 것들입니다. 그런 다음 모든 GIS / Visulisation 도구에서 데이터를 가져 오거나 사용할 수 있습니다.

내 동료가 비슷한 아이디어를 사용하여 래스터 이미지 내에 비밀번호 '숨겨진'을 만들었습니다. http://www.fmepedia.com/index.php/PasswordGenerator

공개 : 저는 FME 제조업체 인 Safe Software에서 일합니다.


Thx 마크. 불행히도 나는 FME에 접근 할 수 없다. 그리고 데이터 상호 운용성은 ArcGIS에 대한 uni 라이센스에 포함되어 있지 않습니다 : [
radek

1

QGIS에서 구현하는 방법에 대한 Josh의 추가 설명

여기에 이미지 설명을 입력하십시오

매우 훌륭하고 자세한 튜토리얼.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.