폴리 맵 및 폴리… 다각형


9

최근 Bing Maps + Polymaps를 가지고 놀았습니다.

Bing이 위성 이미지 를 포함하는 폴리 맵에 사용할 수있는 유일한 매핑 리소스라는 것이 명백해졌습니다 . 이것이 사실입니까?

크기가 다른 많은 다각형을지도에 그려서 표현한 내용에 따라 다른 색으로 채울 려고합니다 . 또한 각 다각형을 클릭 할 수 있기를 원합니다.

Polymaps를 사용하여지도에 지리 데이터를로드하려면 geoJSON 객체의 일부로 .features () 또는 .url ()을 사용합니다.

.features ()가 작동하지만이 함수를 사용하여 다각형 데이터를 자바 스크립트 파일 자체에 포함시켜야합니다.

map.add(po.geoJson()
        .features([
    {
      "geometry": {
        "coordinates": [[
[[-63.599925935268395,44.64018531837119],[-63.599789142608664,44.640219671024646],[-63.59973818063736,44.6401452402498],[-63.599877655506134,44.64010707058464],[-63.599925935268395,44.64018150140844]],

[[-63.59986692667008,44.639874235083376],[-63.59975695610047,44.63991431339196],[-63.599697947502136,44.63981507181532],[-63.5998159646988,44.639782627416906],[-63.59986424446105,44.6398723265918]]
        ]],
        "type": "MultiPolygon"
      },
      "type": "Feature",
      "id": "beat:05X",
      "properties": {"name": "05X"}
    }

        ]));

이 데이터가 실제로 데이터베이스에서 나오고 javascript 자체에 정적으로 있지 않기를 원합니다. 대신 .url () 메서드를 대신 사용해야한다고 말합니다. .url () 메소드를 사용하는 경우 geoJSON을 반환하는 유효한 URL 템플릿을 전달해야합니다. 내 개인 데이터를 사용하여이 문제를 해결하려면 어떻게해야합니까? PHP와 mySQL에 익숙합니다. 대신 공간 데이터베이스 시스템을 사용해야합니까?

그리고 MapServer, GeoServer 등과 같은 맵 서버는 어떻게이 기능에 적합합니까? $ _GET 변수에서 이러한 템플릿을 읽고 데이터베이스를 쿼리하고 적절한 geoJSON 문자열을 반환하도록 PHP 스크립트를 설정할 수 없습니까?

나는 단지 약간의 영감, 나에게 길을 설정하고 내가 가지고있는 의심의 일부를 죽일 수있는 몇 가지 포인터가 필요합니다. 나는 스택 교환을 둘러보고 맵 서버에서 지리 공간 데이터베이스에 이르기까지 모든 것을 인터넷 검색했습니다.

오랜 질문이지만 일단 이러한 사항이 명확 해지면 훨씬 더 나은 위치에 있어야합니다.


대용품이있는 경우 방정식에서 폴리 맵을 제거 할 수 있습니다.

요약하면, 나는 다양한 모양, 크기, 색상 및 투명도의 데이터베이스 (PostGIS?)에서 많은 수의 다각형을 가져 와서지도에 그려보고 싶습니다. 그것은 본질적으로 그것입니다! 폴리 맵에는 벡터 그래픽이 있습니다 + 위의 코드를 감안할 때 이동 중에 이것을 얻는 것이 쉽지 않을 것이라고 생각했습니다. 다른 아이디어가 있으면 스크랩 할 수 있습니다. 가장 좋은 해결책 무엇입니까 ? 내 유일한 사업 요구 사항은 Satellite Imagery가 활성화되어 있어야한다는 것입니다.

답변:


8

GeoJSON에 대해 이야기하는 경우 모든 종류의 데이터베이스와 백엔드 서버를 사용할 수 있습니다.

1) TMS 또는 /{zoom}/{x-coord}/{y-coord}.json 스타일 URL을 수신 할 것으로 예상되며 Z / X / Y를 경계 상자로 변환 할 수 있습니다.

(Tilestache (.org)와 같은 것을 보거나 필요로하는 수학을보고 싶다면)

2) GeoJSON을 반환합니다.

스타일링 및 대화식 비트 추가를 위해 데이터 결과에 레이어의 on () 메서드를 사용하여 "로드"함수를 정의하려고합니다. 예를 들면 다음과 같습니다.

var l = org.polymaps.geoJson ();
l.url ( "http://example.com/tiles/{Z}/{X}/{Y}.json");
l.on ( "load", function (e) {...});

Polymaps 사이트에는 훌륭한 문서와 예제 코드가 많이 있지만 최근에 수행 한 Polymaps 작업장의 슬라이드와 샘플 코드도 포함했습니다.

http://www.aaronland.info/talks/where2011/

http://www.aaronland.info/talks/where2011/workshop

건배


Aaron에게 감사합니다. 게시 한 링크는 꼭 필요합니다. 나중에 검토 할 수 있도록 파일을 다운로드했으며 상호 작용 단계에있을 때 파일을 참조합니다. Bing이 실제 타일을 관리하기 때문에 Tilestache가 필요한 것이 확실하지 않습니다. 내가 제공 할 맞춤 데이터는 .png, .jpg 등의 이미지가 아닌 다각형 데이터입니다. ./flickr.json에서 정점에 도달 할 가능성이 있습니까? 링크가 없습니다. 환호하고 다시 감사합니다.
Jordan Arseno

workshop / 005-data /의 루트에서 찾았습니다. 감사합니다!
Jordan Arseno

2

좋아, 여기 거래가있다- 이 블로그 포스트

모든 것을 정리했습니다. 폴리 맵을 가지고 노는 사람이라면 반드시 읽어야합니다. 레딧의 헨리를 통해 찾았습니다

Aaron은 TileStache 사용에 대해 언급했고 실제로 ... 이것이 핵심입니다. 방금 방법을 보지 못했습니다. 위의 블로그 게시물은 TileStache 사용에 대해 매우 유익합니다. 큰 승리.


각 요소를 클릭 할 수 있기를 원했다는 것을 어떻게 알았습니까? 지도를 실행하고 있지만지도에서 요소를 클릭 할 수 있도록 벽에 기대어 있습니다.

hello Erik, 웹 서버에 폴리 맵 플러그인을 다운로드하여 압축을 풀면 localhost / polymaps / examples / tipsy / tipsy.html 에서 완벽한 예제에 액세스 할 수 있습니다 .이 사람의 소스를 확인하십시오. 사실,이 매핑 ​​프로젝트를 일시적인 중단 모드로 설정했으며 클릭 가능한 데이터 포인트를 아직 얻지 못했지만 이것이 바로 시작하려는 곳입니다. 모두 제일 좋다!
Jordan Arseno

@JordanArsenault "이 블로그 게시물"링크가 더 이상 작동하지 않습니다. 정보를 다운로드하셨습니까? 감사합니다
Stephen Lead

이봐, 스티븐, 블로그 포스트가 이제 다운되었고 다운로드 한 사본이 없습니다. 그러나 goalfinch의 제작자는 여기에서 찾을 수 있습니다. linkedin.com/in/hanskuder ... 내용을 찾은 경우 알려 주시면 링크를 수정하겠습니다-또는이 게시물을 자유롭게 편집 해주십시오. :)
Jordan Arseno
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.