ข้อมูลจัดแต่งทรงผม GeoJSON


25

เท่าที่ฉันเห็นไม่มีอะไรในมาตรฐาน GeoJSON ในการจัดเก็บข้อมูลการจัดแต่งทรงผมเช่นสีเส้นความหนา ฯลฯ

ฉันขาดอะไรบางอย่างหรือนี่เป็นเพียงสิ่งที่ GeoJSON ไม่จัดการหรือ

คำตอบ:


18

สำหรับ GeoJSON - สไตล์ CSS ใช้สำหรับปรับเปลี่ยนจุดเส้นรูปหลายเหลี่ยมที่มีความหนาและสี

{ 
    "type": "Feature",
    "geometry": {
    "type": "Polygon",
    "coordinates": [[
        [-180.0, 10.0], [20.0, 90.0], [180.0, -5.0], [-30.0, -90.0]
        ]]
    },
    "style": {
        "__comment": "all SVG styles allowed",
        "fill":"red",
        "stroke-width":"3",
        "fill-opacity":0.6
    },
    "className": {
        "baseVal":"A class name"
    }
}

http://wiki.openstreetmap.org/wiki/Geojson_CSS


1
ดูเหมือนจะไม่ได้เป็นส่วนหนึ่งของข้อมูลจำเพาะ GeoJSON นี่เป็นการใช้งานทั่วไปหรือไม่
Mr_Chimp

ใช่การใช้งานทั่วไปทั่วไปที่ใช้งานได้ - GeoJOSN เป็น 'รูปแบบการแลกเปลี่ยนข้อมูลเชิงพื้นที่'
Mapperz

ค่อนข้างเป็นหัวข้อ แต่ geoson_css นี้เกี่ยวข้องกับ carto mapbox.com/carto
Francisco Puga

6
นั่นไม่ใช่สิ่งมาตรฐานและการใช้งานแต่ละครั้งจะทำสิ่งนี้แตกต่างกัน
Calvin

3
QGis (ซึ่งใช้ GDAL ภายใต้ประทุน) และgeojsonlint.comเพื่อตั้งชื่อตัวอย่าง 2 ข้อผิดพลาดเมื่อใช้แอตทริบิวต์ "style"
แมเรียน

10

วันนี้มี Mapbox ของSimpleStyle

"properties": {
        // OPTIONAL: default ""
        // A title to show when this item is clicked or
        // hovered over
        "title": "A title",

        // OPTIONAL: default ""
        // A description to show when this item is clicked or
        // hovered over
        "description": "A description",

        // OPTIONAL: default "medium"
        // specify the size of the marker. sizes
        // can be different pixel sizes in different
        // implementations
        // Value must be one of
        // "small"
        // "medium"
        // "large"
        "marker-size": "medium",

        // OPTIONAL: default ""
        // a symbol to position in the center of this icon
        // if not provided or "", no symbol is overlaid
        // and only the marker is shown
        // Allowed values include
        // - Icon ID from the Maki project at http://mapbox.com/maki/
        // - An integer 0 through 9
        // - A lowercase character "a" through "z"
        "marker-symbol": "bus",

        // OPTIONAL: default "7e7e7e"
        // the marker's color
        //
        // value must follow COLOR RULES
        "marker-color": "#fff",

        // OPTIONAL: default "555555"
        // the color of a line as part of a polygon, polyline, or
        // multigeometry
        //
        // value must follow COLOR RULES
        "stroke": "#555555",

        // OPTIONAL: default 1.0
        // the opacity of the line component of a polygon, polyline, or
        // multigeometry
        //
        // value must be a floating point number greater than or equal to
        // zero and less or equal to than one
        "stroke-opacity": 1.0,

        // OPTIONAL: default 2
        // the width of the line component of a polygon, polyline, or
        // multigeometry
        //
        // value must be a floating point number greater than or equal to 0
        "stroke-width": 2,

        // OPTIONAL: default "555555"
        // the color of the interior of a polygon
        //
        // value must follow COLOR RULES
        "fill": "#555555",

        // OPTIONAL: default 0.6
        // the opacity of the interior of a polygon. implementations
        // may choose to set this to 0 for line features.
        //
        // value must be a floating point number greater than or equal to
        // zero and less or equal to than one
        "fill-opacity": 0.5
    }

คุณลักษณะการใส่สไตล์ในสเป็คยังเป็นคุณสมบัติดังนั้นควรทำงานทุกที่ที่คาดว่า geoJSON
Abbafei

สไตล์นี้ใช้โดยการเรนเดอร์ geojson ของ Github (ซึ่งสร้างจากแผ่นพับ): help.github.com/en/articles/…
Ariel Allon

4

GeoJSON ไม่ได้จัดการกับสิ่งนี้ ข้อมูลสไตล์ใด ๆ จะขึ้นอยู่กับสิ่งที่เรนเดอร์เป็น Geojson CSS เชื่อมต่อไปยังเป้าหมาย SVG แต่คุณยังมี Carto ซึ่งมีเป้าหมายที่ mapnik จำไว้ว่าคุณสามารถเพิ่มฟิลด์พิเศษลงใน GeoJSON และมันจะยังคงตรวจสอบได้ .


1

ฉันคิดว่ามันคือทั้งหมดที่เกี่ยวกับการสะกดคำประเภทและคุณสามารถเพิ่มคำนิยามมากขึ้นถ้าคุณต้องการ ฉันไม่คิดว่ามันสำคัญมากที่จะไม่ได้มีส่วนร่วมในข้อมูลจำเพาะของ json ... ไม่มีข้อ จำกัด สำหรับวัตถุ json สิ่งที่สำคัญคือ json ของคุณจะต้องถูกต้องสำหรับการใช้งานที่ถูกต้อง ...

และฉันได้ตรวจสอบMapperz♦geojson มันมีข้อผิดพลาดในการแยกวิเคราะห์ในนั้น .. และ geojson ที่ถูกต้อง:

{
    "type": "Feature",
    "geometry": {
        "type": "Polygon",
        "coordinates": [
            [
                [-180, 10],[20, 90],[180, -5],[-30, -90]
            ]
        ]
    },
    "style": {
        "stroke-width": "3",
        "fill-opacity": 0.6
    },
    "className": {
        "baseVal": "highway_primary"
    }
}

และสิ่งสุดท้ายที่จะพูดคือคุณสามารถตรวจสอบไฟล์ geojson ของคุณว่าถูกต้องหรือไม่จากJSONLintซึ่งเป็นตัวตรวจสอบ JSON ...

ฉันหวังว่ามันจะช่วยคุณ


2
ฉันรู้ว่าเป็นไปได้ที่จะทำเช่นนี้ฉันแค่สงสัยว่าคนอื่นจะใช้วิธีนี้เพื่อเพิ่มความเข้ากันได้สูงสุดหรือไม่
Mr_Chimp

แหล่งที่มาอยู่ที่นี่ - wiki.openstreetmap.org/wiki/Geojson_CSS
Mapperz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.