polimaplar ve poli… çokgenler


9

Son zamanlarda Bing Maps + Polymaps ile oynuyorum.

Bing'in Polymaps tarafından uydu görüntüleri içeren tek harita kaynağı olduğu anlaşıldı . Bu doğru mu?

Ben çizim başarmaya çalışıyorum birçok harita üzerinde farklı boyutlarda poligon ve farklı renklerde temsil ettikleri şeye bağlı onları doldurma. Ayrıca, bu çokgenlerin her birinin tıklanabilir olmasını istiyorum.

Coğrafi verileri Polymaps ile bir haritaya yüklemek için geoJSON nesnesinin bir parçası olarak .features () veya .url () yöntemini kullandığınızı anlıyorum.

.Features () çalışma var, ama bu işlevi kullanarak çokgen veri javascript dosyasının içine - gömülü olmalıdır:

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"}
    }

        ]));

Bu veri aslında bir veritabanından gelmesini ve javascript içinde statik olarak yalan değil - bana bunun yerine .url () yöntemini kullanmanız gerektiğini söyler - doğru? Ve .url () yöntemini kullanırsam geoJSON döndüren geçerli bir URL şablonu geçirmeliyim ... Bu konuda kendi özel verilerimle nasıl devam edebilirim? PHP ve mySQL hakkında bilgim var - bunun yerine uzamsal bir veritabanı sistemi kullanmalı mıyım?

MapServer, GeoServer ve diğerleri gibi bir harita sunucusu buna nasıl uyuyor? Bu şablonları $ _GET değişkeninden okumak, bir veritabanını sorgulamak ve uygun geoJSON dizesini döndürmek için bir PHP komut dosyası ayarlayamadım mı?

Gerçekten biraz ilham almaya ihtiyacım var, beni yoluma koymak ve şüphelerimi öldürmek için birkaç noktaya ihtiyacım var. Kendimi sadece stackexchange'i kazıp harita sunucularından coğrafi uzamsal veritabanlarına kadar her şeyi araştırırken buldum - adını sen koy, muhtemelen okudum, ama parçaları bir araya getirmekte zorlanıyorum.

Uzun soluklu bir soru ama bu şeyler netleştirildikten sonra, çok daha iyi bir konumda olmam gerekir.


Sübstitüentler varsa denklemden polimapları çıkarabiliriz.

Özetle, tüm farklı şekiller, boyutlar, renkler ve asetatlardan oluşan bir veritabanından çok sayıda çokgen (PostGIS?) Almak ve bunları bir harita üzerinde çizmek istiyorum. Aslında bu kadar! Polymaps vektör grafikleri vardır + Yukarıdaki kod göz önüne alındığında bu hareket halindeyken almak önemsiz olacağını düşündüm ... başka fikirleriniz varsa hurda olabilir. Ne olduğunu iyi çözüm? Tek iş gereksinimim Uydu Görüntülerinin etkinleştirilmiş olması ... Yani Bing veya Google ile çalışıyoruz.

Yanıtlar:


8

GeoJSON hakkında konuşuyorsanız, herhangi bir veritabanı ve arka uç sunucusu kullanabilirsiniz, istediğiniz kadar kullanabilirsiniz:

1) TMS veya /{zoom {/{x-coord }/{y-coord {.json stil URL'lerini almayı bekler ve Z / X / Y'yi sınırlayıcı bir kutuya dönüştürebilir.

(Bunu yapmakla ilgili matematiği görmek / görmek istiyorsanız, Tilestache (.org) gibi bir şeye göz atın.)

2) GeoJSON'u döndürür.

Veri sonuçlarına stil vermek ve etkileşimli bitler eklemek için, katmanın on () yöntemini kullanarak bir "yükleme" işlevi tanımlamak istersiniz. Örneğin:

var l = org.polymaps.geoJson ();
l.url ( "http://example.com/tiles/{Z}/{X}/{Y}.json");
l.on ("yük", işlev (e) {...});

Polymaps sitesi çok sayıda iyi belge ve örnek kod içeriyor, ancak son zamanlarda yaptığım bir Polymaps atölyesinden slaytları ve örnek kodu da ekledim:

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

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

Şerefe


Teşekkür ederim Aaron, yayınladığınız bağlantılar gerçekten vazgeçilmezdir. Dosyaları daha sonra incelemek üzere indirdim, etkileşim aşamasındayken onlara atıfta bulunacağım. Tilestache'nin ihtiyacım olan bir şey olduğundan emin değilim çünkü gerçek döşeme Bing tarafından bakılıyor, değil mi? Sunacağım özel veriler çokgen verilerdir, herhangi bir .png, .jpg, vb görüntüleri değildir. ./Flickr.json'da zirve yapabilme şansım var mı? Eksik bağlantı. Şerefe ve tekrar teşekkürler.
Jordan Arseno

Ben atölye / 005-data / kökünde buldum, teşekkürler!
Jordan Arseno

2

Tamam, işte anlaşma - This Blog Post

HER ŞEY temizlendi. Polymaps ile oynayan herkes için mutlaka okunmalıdır. Reddit'te Henry aracılığıyla buldum

Aaron TileStache kullanarak söz ve gerçekten ... Bu anahtar, ben sadece nasıl görmedim - Yukarıdaki blog yazısı TileStache kullanırken oldukça bilgilendirici. Büyük zafer.


Her bir öğenin tıklanabilir olmasını istediğinizi fark ettiniz, bunu nasıl başardınız? Haritam çalışıyor, ancak öğeleri harita üzerinde tıklanabilir hale getirmek için bir duvara karşıyım.

merhaba Erik, web sunucunuza polymaps eklentisini indirir ve çıkarırsanız, o zaman mükemmel bir örneğe erişebilirsiniz: localhost / polymaps / örnekler / tipsy / tipsy.html - Bu adamdaki kaynağı kontrol edin. Gerçek şu ki, bu haritalama projesini geçici hiatus moduna soktum ve henüz tıklanabilir veri noktalarına ulaşmadım, ama tam olarak başlayacağım yer burası. Herşey gönlünce olsun!
Jordan Arseno

@JordanArsenault "bu blog gönderisi" bağlantısı artık çalışmıyor - bilgileri indirdiniz mi? Teşekkürler
Stephen Lead

hey Stephen, gerçekten de, Blog Yayını artık çalışmıyor ve indirilmiş bir kopyam yok. Ancak, goalfinch yaratıcısı burada bulunabilir: linkedin.com/in/hanskuder içerik bulursanız ..., bana bildirin ve ben bağlantıları düzeltin duyarız - ya :) bu yazıyı düzenlemek için çekinmeyin
Jordan Arseno
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.